Code example for ColorMatrix

Methods: reset, setRotate

0
        if (null == mAllMatrix) {  
            mAllMatrix = new ColorMatrix();  
        }   
   
        if (null == mLightnessMatrix) {  
            mLightnessMatrix = new ColorMatrix(); // ÓÃÓÚÑÕÉ«±ä»»µÄ¾ØÕó£¬androidλͼÑÕÉ«±ä»¯´¦ÀíÖ÷ÒªÊÇ¿¿¸Ã¶ÔÏóÍê³É  
        }   
   
        if (null == mSaturationMatrix) {  
            mSaturationMatrix = new ColorMatrix();  
        }   
   
        if (null == mHueMatrix) {  
            mHueMatrix = new ColorMatrix();  
        }   
   
        switch (flag) {  
        case FLAG_HUE: // ÐèÒª¸Ä±äÉ«Ïà  
            mHueMatrix.reset();  
            mHueMatrix.setScale(mHueValue, mHueValue, mHueValue, 1); // ºì¡¢ÂÌ¡¢À¶Èý·ÖÁ¿°´ÏàͬµÄ±ÈÀý,×îºóÒ»¸ö²ÎÊý1±íʾ͸Ã÷¶È²»×ö±ä»¯£¬´Ëº¯ÊýÏêϸ˵Ã÷²Î¿¼  
            // // android   
            // doc   
            break;   
        case FLAG_SATURATION: // ÐèÒª¸Ä±ä±¥ºÍ¶È  
            // saturation ±¥ºÍ¶ÈÖµ£¬×îС¿ÉÉèΪ0£¬´Ëʱ¶ÔÓ¦µÄÊǻҶÈͼ(Ò²¾ÍÊÇË×»°µÄ¡°ºÚ°×ͼ¡±)£¬   
            // Ϊ1±íʾ±¥ºÍ¶È²»±ä£¬ÉèÖôóÓÚ1£¬¾ÍÏÔʾ¹ý±¥ºÍ   
            mSaturationMatrix.reset();  
            mSaturationMatrix.setSaturation(mSaturationValue);  
            break;   
        case FLAG_LUM: // ÁÁ¶È  
            // hueColor¾ÍÊÇÉ«ÂÖÐýתµÄ½Ç¶È,ÕýÖµ±íʾ˳ʱÕëÐýת£¬¸ºÖµ±íʾÄæʱÕëÐýת   
            mLightnessMatrix.reset(); // ÉèΪĬÈÏÖµ  
            mLightnessMatrix.setRotate(0, mLumValue); // ¿ØÖÆÈúìÉ«ÇøÔÚÉ«ÂÖÉÏÐýתµÄ½Ç¶È  
            mLightnessMatrix.setRotate(1, mLumValue); // ¿ØÖÆÈÃÂ̺ìÉ«ÇøÔÚÉ«ÂÖÉÏÐýתµÄ½Ç¶È  
            mLightnessMatrix.setRotate(2, mLumValue); // ¿ØÖÆÈÃÀ¶É«ÇøÔÚÉ«ÂÖÉÏÐýתµÄ½Ç¶È  
            // ÕâÀïÏ൱ÓڸıäµÄÊÇȫͼµÄÉ«Ïà   
            break;   
        }   
        mAllMatrix.reset();  
        mAllMatrix.postConcat(mHueMatrix);