正文

圖像處理(4)

Android多媒體開(kāi)發(fā)高級(jí)編程 作者:(美)艾佛瑞


在這個(gè)示例中,兩個(gè)效果是相鏈接的。如果只想增加對(duì)比度而不增加亮度,那么實(shí)際上必須降低亮度來(lái)補(bǔ)償在顏色強(qiáng)度方面的增加。

通常,當(dāng)調(diào)整亮度時(shí),對(duì)每種顏色只使用矩陣的最后一列會(huì)更加簡(jiǎn)單。這僅僅是添加到顏色值的量,而無(wú)須乘以已有的顏色值。

因此,為了降低亮度,可以使用矩陣代碼如下。

ColorMatrix cm = new ColorMatrix();

float brightness = -25;

cm.set(new float[] {

     1, 0, 0, 0, brightness,

     0, 1, 0, 0, brightness,

     0, 0, 1, 0, brightness,

     0, 0, 0, 1, 0 });

paint.setColorFilter(new ColorMatrixColorFilter(cm));

將這兩種轉(zhuǎn)換合在一起將產(chǎn)生如下代碼。

ColorMatrix cm = new ColorMatrix();

float contrast = 2;

float brightness = -25;

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));

此操作的結(jié)果如圖3-16所示。


上一章目錄下一章

Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)