@kimo
2016-01-05T12:14:27.000000Z
字数 1247
阅读 1403
android
ColorMatrix cm = new ColorMatrix();
色调
cm.setRotate(0,hue);//R
cm.setRotate(1,hue);//G
cm.setRotate(2,hue);//B
饱和度
cm.setSaturation(saturation);
亮度
cm.setScale(lum,lum,lum,1);
example
import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.ColorMatrix;import android.graphics.ColorMatrixColorFilter;import android.graphics.Paint;/*** Created by Administrator on 2016/1/5 0005.*/public class ImageUtils {public static Bitmap handleImageEffect(Bitmap bitmap,int hue,int saturation,int lum){Bitmap bitmap1 = Bitmap.createBitmap(bitmap.getWidth(),bitmap.getHeight(),Bitmap.Config.ARGB_8888);Canvas canvas = new Canvas(bitmap1);Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);//抗锯齿ColorMatrix colorMatrix = new ColorMatrix();colorMatrix.setRotate(0,hue);//色调colorMatrix.setRotate(1,hue);colorMatrix.setRotate(2,hue);ColorMatrix colorMatrix1 = new ColorMatrix();colorMatrix1.setSaturation(saturation);//饱和度ColorMatrix colorMatrix2 = new ColorMatrix();colorMatrix2.setScale(lum,lum,lum,1);//亮度ColorMatrix imageMatrix = new ColorMatrix();imageMatrix.postConcat(colorMatrix);//融合imageMatrix.postConcat(colorMatrix1);imageMatrix.postConcat(colorMatrix2);paint.setColorFilter(new ColorMatrixColorFilter(imageMatrix));//给笔加上特效canvas.drawBitmap(bitmap,0,0,paint);//蒙色return bitmap1 ;}}