如何将给定颜色集的位图绘制为透明? 例如,我希望所有白色像素都是透明的。
答案 0 :(得分:13)
您需要为要传递给位图的绘画设置Alpha值。
http://developer.android.com/reference/android/graphics/Paint.html#setAlpha%28int%29
值从0到255不等
编辑:
Paint p = new Paint();
//Set Blue Color
p.setColor(Color.WHITE);
//Set transparency roughly at 50%
p.setAlpha(125);
答案 1 :(得分:3)
您需要检查图像的每个像素并更改其颜色。 您将在Post
中得到答案答案 2 :(得分:1)
另一种方法是在画布上绘制透明色(绘图孔)。 位图需要alpha通道。
//Set transparent paint - you need all of these three
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
paint.setXfermode(new PorterDuffXfermode(Mode.SRC_OUT));
paint.setColor(Color.TRANSPARENT);
// Do you wanna soften?
// Set paint transparency:
// 0 = transparent ink, no visible effect
// 255 = full ink, hole in the bitmap
p.setAlpha(192);
// Do you want some blur?
// Set blur radius in pixel
paint.setMaskFilter(new BlurMaskFilter(10, Blur.NORMAL));