码迷,mamicode.com
首页 > 其他好文 > 详细

黑白效果函数

时间:2014-07-14 10:09:38      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:color   width   io   re   new   rgb   

// 黑白效果函数
public static Bitmap changeToGray(Bitmap bitmap,boolean r, boolean g, boolean b) {

int width, height;
width = bitmap.getWidth();
height = bitmap.getHeight();

Bitmap grayBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565);
Canvas canvas = new Canvas(grayBitmap);
Paint paint = new Paint();
paint.setAntiAlias(true); // 设置抗锯齿

//方法一
ColorMatrix colorMatrix = new ColorMatrix();
colorMatrix.setSaturation(0);
/* 方法二
* ColorMatrix colorMatrix = new ColorMatrix();
float[] m = colorMatrix.getArray();
setColorFilterMatrix(m, r, g, b);*/

ColorMatrixColorFilter filter = new ColorMatrixColorFilter(colorMatrix);

paint.setColorFilter(filter);
canvas.drawBitmap(bitmap, 0, 0, paint);

return grayBitmap;
}

public static void setColorFilterMatrix(float[] m, boolean r, boolean g, boolean b) {
final float R = 0.213f;
final float G = 0.715f;
final float B = 0.072f;

m[0] = 0;
m[6] = 0;
m[12] = 0;

if (r) {
m[0] = R; m[1] = G; m[2] = B;
}
if (g) {
m[5] = R; m[6] = G; m[7] = B;
}
if (b) {
m[10] = R; m[11] = G; m[12] = B;
}
}

黑白效果函数,布布扣,bubuko.com

黑白效果函数

标签:color   width   io   re   new   rgb   

原文地址:http://www.cnblogs.com/clarence/p/3837425.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!