ALPHA_8位图和getPixel

Mit*_*lin 7 android bitmap

我正在尝试从PNG图像加载运动地图.为了在加载位图后节省内存,我做了类似的事情.

 
 `Bitmap mapBmp = tempBmp.copy(Bitmap.Config.ALPHA_8, false);` 
 
Run Code Online (Sandbox Code Playgroud)

如果我绘制mapBmp,我可以看到地图,但是当我使用getPixel()时,我总是得到0(零).

有没有办法从getPixel()以外的位图检索ALPHA信息?

use*_*4ce 5

似乎是处理ALPHA_8. 我也试过了copyPixelsToBuffer,没用。最简单的解决方法是浪费大量内存并使用ARGB_8888.

问题 25690


Mit*_*lin 1

我找到了一种很好且干净的方法来创建边界图。我从一开始就创建了一个 ALPHA_8 位图。我用路径绘制边界图。然后我使用copyPixelsToBuffer()并将字节传输到ByteBuffer中。我使用缓冲区来“获取像素”。我认为这是一个很好的解决方案,因为您可以缩小或放大 path() 并以所需的屏幕分辨率比例绘制边界图,并且无需 IO + 解码操作。Bitmap.getPixel() 对于 ALPHA_8 位图没有用,它总是返回 0。