簡體   English   中英

Android:如何使用Fresco旋轉圖像

[英]Android: how to rotate image using Fresco

我正在使用Fresco通過uri將來自手機存儲的圖像加載到SimpleDraweeView(內部和外部,都使用內容提供程序-'content://')。 它們的負載很好,但是如果在屬性中設置了方向,則繼續旋轉。 我嘗試使用.setAutoRotateEnabled(true)屬性設置imageRequest,但是由於某些原因,它對我不起作用。 關於如何旋轉圖像以正確顯示它們有什么建議嗎?

imageView.setController(
            controllerBuilder
                    .setOldController(imageView.getController())
                    .setImageRequest(imageRequestBuilder
                            .setSource(uri)
                            .setAutoRotateEnabled(true)
                            .setResizeOptions(null)
                            .build())
                    .build());

我通過設置.setDownsampleEnabled(false)解決了這個問題。 我不知道為什么,但是我想降采樣確實是實驗性的,可以防止自動旋轉的發生。

默認設置為“自動旋轉”,因此如果設置了方向,圖像將旋轉。 如果這不是您想要的,請嘗試將其設置為false。

我也遇到了同樣的問題,在Fresco中啟用了下采樣功能使您無法禁用具有EXIF數據的圖像的自動旋轉。

我最近打開了一個與此有關的問題 ,該問題默認情況下為自動旋轉,但是任何地方都沒有記錄,這使我費時費力。 尚未收到Fresco開發人員的回應。

編輯:該問題現在已在Fresco v0.14中修復。

由於某些原因, setAutoRotateEnabled(true)也對我不起作用,因此我不得不始終旋轉到90度

Kotlin代碼

       val request = ImageRequestBuilder.newBuilderWithSource(uri)
            .setResizeOptions(ResizeOptions(width, height))
            .setRotationOptions(RotationOptions.forceRotation(RotationOptions.ROTATE_90))
            .build()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM