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



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

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);

我会得到一个透明背景的图像。

我该怎么做才能用白色替换透明色而不留下任何伪影?这可能吗?

由于我的图像仅由黑色背景上的黑线组成,因此我能够以非常低效的方式解决此问题:迭代图像中的所有像素,如果它们不是黑色,则用白色替换它们的颜色。似乎在Color.TRANSPARENT和Color.WHITE之间有一个几个像素宽的分离区,这将使那些试图获得更丰富多彩的图像获得相同结果的人的生活变得非常困难。

最新更新