无法使位图的某些部分透明

时间:2012-04-04 03:01:37

标签: android

我正在开发一个Android应用程序,我需要捕获文本并将其保存为透明图像。捕获文本已经完成但是制作透明的png文件是因为我根本不熟悉图像像素操作而陷入困境。这是我到目前为止的...我首先创建一个空白位图并用白色背景填充它,然后我将绘制的透明度设置为0(完全透明),然后使用XOR模式将源位图绘制到目标位图。但是当我运行应用程序时,我看到的是一张空白的白色图像。如果有人指出我做错了什么以及如何解决它,我会很高兴的。提前谢谢。

b = Bitmap.createBitmap(tw, th,Bitmap.Config.ARGB_8888); 
Canvas canvas = new Canvas(b);
Rect dest = new Rect(0,0,b.getWidth(),b.getHeight());               
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
paint.setColor(Color.WHITE);

canvas.drawRect(0, 0, b.getWidth(), b.getHeight(), paint);
paint.setAlpha(0);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.XOR));
canvas.drawBitmap(bmp,null,dest,paint);

2 个答案:

答案 0 :(得分:1)

你看过:How to change a bitmap's opacity? 好像是

paint.setAlpha(0);

不会执行任何操作,因为您需要将Alpha通道设置为大于0的值...

答案 1 :(得分:0)

使用:

Color.argb(0,0,0,0)

第一个参数是alpha。将其设置为0以获得完全透明度。