為了在代碼中實現(xiàn)這個功能,可以執(zhí)行如下操作:
ColorMatrix cm = new ColorMatrix();
cm.set(new float[] {
2, 0, 0, 0, 0,
0, 1, 0, 0, 0,
0, 0, 1, 0, 0,
0, 0, 0, 1, 0 });
paint.setColorFilter(new ColorMatrixColorFilter(cm));
相應(yīng)地,可以通過該矩陣對任何顏色進(jìn)行類似的處理。
3.4.2 改變對比度和亮度
可以通過增加或減少顏色值來調(diào)整圖像的亮度和對比度。
以下代碼將對每個顏色通道的強度加倍,其將影響到圖像的亮度和對比度,如圖3-15所示。
ColorMatrix cm = new ColorMatrix();
float contrast = 2;
cm.set(new float[] {
contrast, 0, 0, 0, 0,
0, contrast, 0, 0, 0,
0, 0, contrast, 0, 0,
0, 0, 0, 1, 0 });
paint.setColorFilter(new ColorMatrixColorFilter(cm));