我们在编程时有时需要对图片进行处理,比如将图片做成灰色的效果。那么就要用到android为我们提供的颜色矩阵类ColorMatrix。

   先介绍一下ColorMatrix这个类,这是一个5*4的矩阵,4行5列。矩阵中存储的是ARGB,即透明度和三原色的值。

ImageView iv = new ImageView(this);    
//getResources().getDrawable方式获取图片
Drawable drawable = getResources().getDrawable(R.drawable.xx);
drawable.mutate();
//创建过滤
ColorMatrix cm = new ColorMatrix();
cm.setSaturation(0); //0灰
ColorMatrixColorFilter cf = new ColorMatrixColorFilter(cm);
drawable.setColorFilter(cf);
iv.setImageDrawable(drawable);
setContentView(iv);