我正在一個android項目中,我必須改變牆的顏色。對於e.x,如果我拍攝有拐角的牆,並選擇某種顏色,則表示藍色。牆壁的顏色應該改變,牆壁看起來就像是用這種顏色塗漆的。我的意思是說改變顏色後應該保留牆角處的陰影。牆不應該看起來像繪製像扁平的矩形。如何更改位圖的顏色並保留位圖中的陰影?
請讓我知道如何做到這一點。
在此先感謝。 問候
我正在一個android項目中,我必須改變牆的顏色。對於e.x,如果我拍攝有拐角的牆,並選擇某種顏色,則表示藍色。牆壁的顏色應該改變,牆壁看起來就像是用這種顏色塗漆的。我的意思是說改變顏色後應該保留牆角處的陰影。牆不應該看起來像繪製像扁平的矩形。如何更改位圖的顏色並保留位圖中的陰影?
請讓我知道如何做到這一點。
在此先感謝。 問候
這是我做的事得到它完成:
public static Bitmap changeImageColor(Bitmap srcBmp, int dstColor) {
int width = srcBmp.getWidth();
int height = srcBmp.getHeight();
float srcHSV[] = new float[3];
float dstHSV[] = new float[3];
Bitmap dstBitmap = Bitmap.createBitmap(width, height, Config.RGB_565);
for (int row = 0; row < height; row++) {
for (int col = 0; col < width; col++) {
Color.colorToHSV(srcBmp.getPixel(col, row), srcHSV);
Color.colorToHSV(dstColor, dstHSV);
// If it area to be painted set only value of original image
dstHSV[2] = srcHSV[2]; // value
dstBitmap.setPixel(col, row, Color.HSVToColor(dstHSV));
}
}
return dstBitmap;
}
如果性能很重要,那麼使用簡單的着色器就可以將性能提高大約10,000倍。 – Lee
我嘗試了這些謝謝! 在第一個鏈接我沒有得到如何形成顏色矩陣來獲得我需要的顏色作爲位圖中的結果顏色。 – Kantesh