0

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

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

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

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

4

1 回答 1

0

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

于 2012-08-12T19:51:32.737 回答