【问题标题】:Changing specific colors in a bitmap , Android更改位图中的特定颜色,Android
【发布时间】:2013-06-04 01:37:49
【问题描述】:

假设我有 3 个 BITMAPS,上面有 2 种颜色。

  1. 红白相间
  2. 蓝白相间
  3. 绿色和白色

现在我只想用任何颜色分别更改 3 张图像中的红色、蓝色和绿色。例如:黑色。

我该采取什么方法?

我阅读了有关更换颜色的信息,并且我成功地更换了特定颜色。 例如:我可以通过指定要更改的颜色来分别替换 red 、 blue 和 green 。

但是我如何让它通用呢?你能建议任何方法吗?

【问题讨论】:

    标签: android paint android-canvas


    【解决方案1】:

    您可以在此处使用该方法: Replace black color in bitmap with red 并在 if 语句中添加更多测试。

    int [] allpixels = new int [ myBitmap.getHeight()*myBitmap.getWidth()];
    
    myBitmap.getPixels(pixels, 0, myBitmap.getWidth(), 0, 0,myBitmap.getWidth(),myBitmap.getHeight());
    
    for(int i =0; i<myBitmap.getHeight()*myBitmap.getWidth();i++){
    
        if( allpixels[i] == Color.RED || allpixels[i] == Color.BLUE || allpixels[i] == Color.GREEN)
             allpixels[i] = Color.BLACK;
    }
    
    myBitmap.setPixels(allpixels, 0, myBitmap.getWidth(), 0, 0, myBitmap.getWidth(), myBitmap.getHeight());
    

    然后你可以把它变成一个以颜色数组作为参数的函数。

    【讨论】:

      猜你喜欢
      • 2018-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多