2012-04-04 87 views
0

我正在开发一个android应用程序,我需要捕获文本并将其保存为透明图像。捕获文本已完成,但制作透明png文件是我卡住的地方,因为我根本不熟悉图像像素操作。这是我到目前为止......我首先创建一个空白的位图并用白色背景填充它,然后我将paint的透明度设置为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); 

回答

1

你有没有看:How to change a bitmap's opacity? 好像

paint.setAlpha(0); 

,因为你需要alpha通道设置的东西大于0不会做任何事情......

+0

据我所知,值为0将给予完全透明度,而值为255时会给予完全不透明度。 – 2012-04-04 03:29:04