2013-04-04 91 views
0

我如何能實現對圖像中彎曲的亮度和對比度的變化增加對比度和亮度的圖像在柔性

我需要開發一個工具,增加亮度或對比度,減少它

+0

你嘗試過什麼?你怎麼了?顯示圖像?應用數學公式? – 2013-04-04 12:14:26

+0

需要動態改變亮度和對比度的圖像組件 – Nithil 2013-04-04 12:16:43

回答

1

使用的ColorMatrixFilter和分配下面矩陣其矩陣屬性

var contrastAdj:ColorMatrixFilter = ColorMatrixFilter(filters.getItemAt(0)); 
     contrastAdj.matrix = getContrastMatrix(value); 

    private static function getContrastMatrix(value:Number):Array 
    { 

    value /= 100; 
    var s: Number = value + 1; 
    var o : Number = 128 * (1 - s); 
    var m:Array = new Array(); 
    m = m.concat([s, 0, 0, 0, o]); // red 
    m = m.concat([0, s, 0, 0, o]); // green 
    m = m.concat([0, 0, s, 0, o]); // blue 
    m = m.concat([0, 0, 0, 1, 0]); // alpha 

    return m; 
} 

亮度矩陣使用此功能-100之間至100

private static function getBrightnessMatrix(value:Number):Array 
{ 
       var m:Array = new Array(); 
       m = m.concat([1, 0, 0, 0, value]); // red 
       m = m.concat([0, 1, 0, 0, value]); // green 
       m = m.concat([0, 0, 1, 0, value]); // blue 
       m = m.concat([0, 0, 0, 1, 0]);  // alpha 
       return m; 
     } 

值傳遞給函數。

+0

感謝@Asad詳細解釋 – Nithil 2013-04-05 04:15:01

+0

你可以使用Pixel Bender的作爲@Vesper建議,以加快圖像處理加載的圖像。對於一個單一的形象,我認爲這些功能就足夠了。 – Asad 2013-04-05 07:14:37

1

您可以使用flash.geom.ColorTransform反對一個圖像,至少用於預覽。如果您需要將您的圖像的像素變化,我會說使用Pixel Bender着色器,將你所需要的。但是請注意,您將需要一個備份副本,你應該渴望改變着色器的參數。

+0

感謝@vesper我會考慮這個 – Nithil 2013-04-04 12:18:51

相關問題