为什么我以这种方式创建新的Bitmap时会获得黑色背景?如何获得透明背景?

时间:2016-07-25 15:25:04

标签: java android android-image android-bitmap createbitmap

我在Android开发方面很新,我遇到以下问题。

我已经实现了这个使用 Canvas 绘制 Bitmap 的代码(它在彼此旁边绘制了5个图标),所以这是我的代码:

// Create a new image bitmap having width to hold 5 star.png image:
Bitmap tempBitmap = Bitmap.createBitmap(myBitmap.getWidth() * 5, myBitmap.getHeight(), Bitmap.Config.RGB_565);

所以它工作正常,图像正确创建,并显示5个 star.png 图像,彼此相邻。

唯一的问题是新图像的背景( star.png 显示图像后面)是黑色的。 star.png 图片的背景为白色。

我认为这取决于这一行:

AND tipo = 2

特别是 Bitmap.Config.RGB_565

究竟意味着什么?

如何更改此值以获得透明背景? (或至少改变颜色,例如获得白色背景)

1 个答案:

答案 0 :(得分:0)

createBitmap的Android文档中,您会发现:

Android Doc for createBitmap

  

(对于最后一个参数)如果配置不支持每像素alpha(例如RGB_565),那么   colors []中的alpha字节将被忽略(假设为FF)

因此,请使用Bitmap.Config.ARGB_8888作为最后一个参数。

在此配置中,每个像素存储在4个字节上。