0
假设我有3 BITMAPS其上有两种颜色。更改位图中的特定颜色,Android
- 红色和白色
- 蓝色和白色
- 绿色和白色
现在我想用任何颜色分别更改3个图像只有红色,蓝色和绿色。例如:黑色。
我该采取什么方法?
我读了关于替换颜色,我成功地取代了特定的颜色。例如:我可以通过指定要更改的颜色来单独替换红色,蓝色和绿色。
但是,如何使其具有通用性?你能提出任何方法吗?
假设我有3 BITMAPS其上有两种颜色。更改位图中的特定颜色,Android
现在我想用任何颜色分别更改3个图像只有红色,蓝色和绿色。例如:黑色。
我该采取什么方法?
我读了关于替换颜色,我成功地取代了特定的颜色。例如:我可以通过指定要更改的颜色来单独替换红色,蓝色和绿色。
但是,如何使其具有通用性?你能提出任何方法吗?
您可以使用这里的方法: 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());
然后,你可以把它变成一个函数,它将一个颜色数组作为参数。