ColorMatrix色彩变换 笔记

Bitmap类用一个32位数值来保存,红,绿,蓝及透明度各占8位,每个颜色分量取值范围0~255,

在android中,色彩变换矩阵形式也是5阶的:

android中色彩变换矩阵用ColorMatrix类表示:

arduino 复制代码
ColorMatrix colorMatrx = new ColorMatrix(new float[]{
    1,0,0,0,0,
    0,1,0,0,0,
    0,0,1,0,0,
    0,0,0,0.5,0
});

色彩的平移运算

增加色彩饱和度

色彩的平移运算实际是色彩的加法运算,其实就是色彩变换矩阵的最后一列加上某个值,这样可以增加特点色彩的饱和度。矩阵对应某一色值行最后一列添加数值:如添加绿色饱和:

markdown 复制代码
    1,0,0,0,0,
    0,1,0,0,200,
    0,0,1,0,0,
    0,0,0,1,0

色彩反转/反向功能

每个色值得补值来作为目标图像的对应颜色值,如

markdown 复制代码
    -1,0,0,0,255,
    0,-1,0,0,255,
    0,0,-1,0,255,
    0,0,0,1,0

色彩的缩放运算

调节亮度

色彩缩放运算其实就是色彩的乘法运算。将色彩矩阵对角线上分别代表R,G,B,A的几个值分别乘以指定的值。

markdown 复制代码
1.2f,0,0,0,0,
    0,1.2f,0,0,0,
    0,0,1.2f,0,0,
    0,0,0,1.2f,0

通道输出

由于在色彩矩阵中对角线上的数取值范围在0~1,所以当取0时,这个色彩就完全不显示,

markdown 复制代码
 0,0,0,0,0,
    0,1,0,0,0,
    0,0,0,0,0,
    0,0,0,0.5,0

setSaturation() //设置饱和度,整体增强色彩饱和度,0时完全无色彩(黑白图像),大于1显示色彩饱和度

setScale() //色彩缩放

setRotate(int axis,float degrees) //色彩旋转,axis 0,1,2 表示红绿蓝轴,degrees 表示度数

相关推荐
vilya23 分钟前
我怎么给手机 GUI Agent 做双通道感知:无障碍树为主,投屏像素兜底
android·人工智能
李子红了时2 小时前
阿狸舞台APP(安卓端手机EncFS解密+压缩包解压+视频播放)
android·音视频
事圆则缓2 小时前
Android 使用 Jenkins 实现 CI/CD,并用 SonarQube 建立质量门禁
android·ci/cd·jenkins
其实防守也摸鱼2 小时前
DeepSeek Harness 开源贡献手记:从 Issue 到 Merge 的完整旅程
android·数据库·学习·ai·oracle·自动化
恋猫de小郭2 小时前
Android CLI 支持 AI Agent 通过 Device Streaming 调试云真机
android·前端·flutter
素师良码20 小时前
第5篇:显示驱动必备调试工具浅析
android
维克兜率天20 小时前
【维克】配对交易的季节性:哪些品种适合长拿?
android·开发语言·笔记·python·算法·kotlin·量化
墨天梦21 小时前
B06_XML控件布局与ViewBinding
android·kotlin
晚风叙码21 小时前
MySQL 表的操作:从建表到删表,一篇讲清楚
android·mysql·oracle
事圆则缓1 天前
Android 性能优化常见工具与使用场景:从症状到证据的排查指南
android·性能优化