2017-04-18 56 views
0

我使用PhotoView庫:https://github.com/chrisbanes/PhotoViewAndroid:從PhotoView獲取可見的位圖部分?

這是我最初的情況;它是PhotoView組件(紅色方塊);背景是透明的。我在裏面加載一個標準的圖片。

enter image description here

現在,我想提取可見位圖的一部分到另一個位圖:

Bitmap original = mPhotoView.getVisibleRectangleBitmap(); 
     return Bitmap.createBitmap(original, 0, 0, original.getWidth(), original.getHeight(), 
       mPhotoView.getImageMatrix(), true); 

,但效果不好,因爲有黑色區域,我不知道爲什麼...我只想提取圖片的區域,而不是所有的PhotoView。

enter image description here

如何提取沒有背景閒置?

非常感謝你們!

回答

0

PhotoView extends ImageView所以你可以在Photoview上調用getDrawable()得到Drawable

一旦你有Drawable,如果它總是BitmapDrawable,你可以打電話getBitmap()它,你有你的位圖。如果您不能保證,您可以從this question開始閱讀,並找到最佳轉換方式。

這當然會忽略對視圖進行的任何縮放或轉換。如果這對保留很重要,那麼這個答案就沒有關係。抱歉。

+0

沒有斯蒂芬,黑色地區還在那裏呢! – anthony

+0

@anthony您是否試圖將原始圖像恢復出來,或者您是否試圖通過用戶設置的轉換獲取新圖像? – Stephen

+0

@anthony我試過這種方式,它工作得很好。 https://bitbucket.org/randomsnippets/http-stackoverflow.com-questions-43473786我仍然不確定您是否嘗試捕獲用戶對視圖應用的轉換,但如果您只是試圖獲取原始視圖形象,這種方式應該工作。 – Stephen

相關問題