0

我使用 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。

在此处输入图像描述

如何在没有未使用的背景的情况下提取?

非常感谢你们!

4

1 回答 1

0

PhotoView extends ImageView所以你可以在 Photoview 上调用getDrawable()来获取Drawable.

一旦你有了Drawable,如果它总是 a BitmapDrawable,你可以调用getBitmap()它并得到你的位图。如果你不能保证,你可以从阅读这个问题开始,找到最好的转换方法。

这当然会忽略对视图进行的任何缩放或转换。如果保留这一点很重要,那么这个答案是不相关的。对不起。

于 2017-04-18T14:51:44.677 回答