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