我使用PhotoView库:https://github.com/chrisbanes/PhotoView
这是我最初的案例;它是PhotoView组件(红色方块);背景是透明的。我在里面加载一张标准图片。
现在,我想将可见位图部分提取到另一个位图:
Bitmap original = mPhotoView.getVisibleRectangleBitmap();
return Bitmap.createBitmap(original, 0, 0, original.getWidth(), original.getHeight(),
mPhotoView.getImageMatrix(), true);
但结果很糟糕,因为有黑色区域,我不知道为什么......我只想提取带有图片的区域而不是所有PhotoView。
如何在没有背景的情况下提取?
非常感谢你们!
答案 0 :(得分:0)
PhotoView extends ImageView
所以你可以在Photoview上调用getDrawable()来获得Drawable
。
获得Drawable
后,如果它始终为BitmapDrawable
,则可以在其上调用getBitmap()
并获得位图。如果你不能保证这一点,你可以从阅读this question开始,找到最好的转换方式。
这当然会忽略对视图进行的任何缩放或转换。如果保留这一点很重要,那么这个答案就无关紧要了。遗憾。