android圖像編輯和處理(三)

改變圖像的對比度、亮度、整體色調等:

ColorMatrix:一個數字數組,可以對圖像的像素進行操作,但是操作的事顏色值--每個像素的Red(紅)、Green(綠)、Blue(藍);

                          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));
new float[]中的第一行包含單個像素的紅色部分上發生的操作;第二行影響的綠色部分;第三行影響的藍色部分;而最後一行操作像素的Alpha值。

新的紅色值=2*128+0*128+0*128+0*0+0;(表示紅色值翻了兩倍)

新的藍色值=0*128+1*128+0*128+0*0+0;

新的綠色值=0*128+0*128+1*128+0*0+0;

新的Alpha值=0*128+0*128+0*128+1*0+0;


改變對比度和亮度:

                                float contrast=2;
				float brightness=-25;
				ColorMatrix cm=new ColorMatrix();
				cm.set(new float[]{
						contrast,0,0,0,brightness,
						0,contrast,0,0,brightness,
						0,0,contrast,0,brightness,
						0,0,0,contrast,0
				});
				paint.setColorFilter(new ColorMatrixColorFilter(cm));

改變飽和度:

ColorMatrix類有內置的方法可用於改變飽和度

cm.setSaturation(0.5f);//改變飽和度,傳入大於1的數字將增加飽和度,傳入0~1數字減少飽和度,0值將產生一幅灰度圖像。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章