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