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());
然後,你可以把它變成一個函數,它將一個顏色數組作爲參數。