将位图的透明背景转换为白色

时间:2012-08-10 16:34:42

标签: android background bitmap

我拍摄了一个视图的截图(其中包含在白色背景上绘制的黑线):

myView.setDrawingCacheEnabled(true);
Bitmap drawing = Bitmap.createBitmap(myView.getDrawingCache());

如果我像这样旋转这个位图:

Matrix matrix = new Matrix();
matrix.postRotate(45);
drawing = Bitmap.createBitmap(drawing, 0, 0, drawing.getWidth(), drawing.getHeight(), matrix, true);

我将获得一个透明背景的图像。

为了用白色替换透明色而不留下任何伪影,我该怎么办?这甚至可能吗?

1 个答案:

答案 0 :(得分:0)

由于我的图像仅由黑色背景上的黑线组成,因此我能够以非常低效的方式解决此问题:迭代图像中的所有像素,如果它们不是黑色则用白色替换它们的颜色。看起来Color.TRANSPARENT和Color.WHITE之间有一个像素宽的分隔区域,这对于那些试图获得更多彩色图像的人来说真的很难。

相关问题