【问题标题】:Convert a Bitmap's transparent background to white将位图的透明背景转换为白色
【发布时间】:2012-08-07 23:59:07
【问题描述】:

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

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

我会得到一张背景透明的图片。

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

【问题讨论】:

    标签: android background bitmap


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-21
      • 2011-09-28
      • 1970-01-01
      • 2015-10-21
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      相关资源
      最近更新 更多