我想添加一個ColorFilter
到ImageView
。我想添加一個彩色濾鏡到imageview
目前我使用:
ImageView iv = (ImageView)findViewById(resIdOfImageToFilter);
iv.setColorFilter(Color.RED, PorterDuff.Mode.SRC_ATOP);
我在檢查多種模式PotterDuff
如SRC_IN
,SRC
等,但我沒有得到任何模式中的任何區別...所有模式將整個ImageView
變成完美的紅色。
我需要在現有映像中融入紅色,使圖像看起來有一個紅色的色彩....
oops ...正確的做法是PorterDuff.Mode.Lighten ... –
這是因爲沒有alpha通道(即,透明度)在您的圖像。通常'setColorFilter()'用於給圖標着色,事實上,默認行爲是將所有圖像着色爲只保留Alpha通道。 'PorterDuff.Mode.LIGHTEN'代替亮度,所以圖像的彩色部分變成紅色,而白色部分保持原樣。 –