暗灰色android代码,Android实现制作灰色图片

色彩矩阵

要想实现Android图像特效处理需要了解色彩矩阵:

色彩处理需要三个方面调整图片颜色:

1、色调-------------物体传播的颜色

2、饱和度--------------------颜色的纯度

3、亮度-------------------颜色的相对明暗

Android系统封装了ColorMatrix类,通过这个类可以很简单通过修改矩阵值来修改图片颜色效果。

实例化:

ColorMatrix colorMatrix =newColorMatrix();

1、setRotate(int axis,float degree)设置色调,参数一用0、1、2代表red、Green、Blue三种颜色,参数二表示需要处理的值;

2、setSaturation(float sat)设置颜色饱和度,参数表示饱和度值,参数为0就是灰色头像了

3、setScale(foat lum,float lum,float lum,1)设置亮度,当lum为0时,图片就变为黑色。

4.postConcat()方法将矩阵效果混合,从而叠加处理效果。效果展示:

5250ec19f495

原图

5250ec19f495

代码重新生成后

附上代码:

**

* Created by MSI on 2017/6/21.

*/

public class GrayPicture {

Bitmap bitmap;

/**

*

*@param btm 需要变色的图片

*@param mHue 色调值,该出默认为0

*@param mStauration 饱和度值,该出默认为0

*@param mLum 亮度值,该出默认为1,亮度值为0则会出现黑屏

*/

public Bitmap setBitmap(Bitmap btm,floatmHue,floatmStauration ,floatmLum){

ColorMatrix colorMatrix =newColorMatrix();

colorMatrix.setRotate(0, mHue);

colorMatrix.setRotate(1, mHue);

colorMatrix.setRotate(2, mHue);

ColorMatrix colorMatrix1 =newColorMatrix();

colorMatrix1.setSaturation(mStauration);

ColorMatrix colorMatrix2 =newColorMatrix();

//        colorMatrix2.setScale(mLum, mLum, mLum, 1);

colorMatrix2.setScale(1,1,1,1);

ColorMatrix colorMatrixs =newColorMatrix();

colorMatrixs.postConcat(colorMatrix);

colorMatrixs.postConcat(colorMatrix1);

colorMatrixs.postConcat(colorMatrix2);

bitmap= Bitmap.createBitmap(btm.getWidth(), btm.getHeight(), Bitmap.Config.ARGB_8888);

finalPaint paint =newPaint();

paint.setAntiAlias(true);

Canvas canvas =newCanvas(bitmap);

paint.setColorFilter(newColorMatrixColorFilter(colorMatrixs));

canvas.drawBitmap(btm,0,0, paint);

returnbitmap;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值