颜色矩阵M是5*4的矩阵,android中颜色矩阵M是以一维数组m=[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t]的方式进行存储的,

矩阵的每行分别是:

R[a b c d e]

G[f g h i j]

B[k l m n o]

A[p q r s t]

图像的RGBA值则存储在一个5*1的颜色分量矩阵C中,要想改变一张图片的颜色效果,只需要改变图像的颜色分量矩阵即可。

在对ColorMatrixFilter过滤时候,传入的这个参数ColorMatrix,首先应该postConcat亮度矩阵:float lum = (brightness - 50) * 2 * 255 * 0.01f; matrix.set(new float[] {1, 0, 0, 0, lum, 0, 1, 0, 0, lum, 0, 0, 1, 0, lum, 0, 0, 0, 1, 0});

再postConcat对比度矩阵://scale为1时为普通模式,[0 , 1]为减少对比度,[1 , 1 + factor]为增加对比度 float scale = 1; if (contrast < 50) { scale = contrast / 50f; } else if (contrast > 50) { scale = (contrast - 50) / 50f * 2.5f + 1; } float lum = 256 * brightness / 100 * (1f - scale); cm.set(new float[] { scale, 0, 0, 0, lum, 0, scale, 0, 0, lum , 0, 0, scale, 0, lum , 0, 0, 0, 1, 0 });

最后再乘一些效果矩阵,比如黑白矩阵:float a = 0.3086f * 256; float b = 0.6094f * 256; float c = 0.0820f * 256; float lum = -256 * threshold; ColorMatrix matrix = new ColorMatrix(); matrix.set(new float[] {a, b, c, 0, lum, a, b, c, 0, lum, a, b, c, 0, lum, 0, 0, 0, 1, 0});

图片效果:冲蚀 和 填充方式:水印是不同的效果,Android ColorMatrix 亮度矩阵 对比度矩阵 黑白矩阵》(https://www.unjs.com)。

水印是指将一个图印在一个图上。水印效果里面可以添加冲蚀,这种通常被用来做背景图片。如果水印未选择冲蚀,那么水印上去的应该是原图。

冲蚀效果是通过调整图片的 对比度和 亮度来实现的。

android matrix 亮度,Android ColorMatrix 亮度矩阵 对比度矩阵 黑白矩阵 -电脑资料相关推荐

  1. android matrix 缩放,android – 如何获取任意矩阵的缩放值?

    图像按矩阵缩放: Matrix matrix = new Matrix(); matrix.postScale(...); matrix.postTranslate(...); matrix.post ...

  2. android edittext html 图片,Android EditText加载HTML内容(内容包含网络图片) -电脑资料...

    android中的Html.fromHtml可以用来加载HTML的内容,fromHtml有三个参数需要设置,第一个是要显示的html内容,第二个就是要说的重点,ImageGetter,用来处理图片加载 ...

  3. 笔记本android启动画面,android解锁界面开发分分钟教你做锁屏软件 -电脑资料

    想做个锁屏界面很久了,最近一周,历经千辛万苦,越过种种挫折,终于完美实现了这一要求,在此将锁屏思路分享出来, 注意:这不是什么一键锁屏,是类似"go锁屏"那样的锁屏界面. 准备:本 ...

  4. Android色彩特效处理之色调、饱和度、亮度、ColorMatrix精炼详解

    一.前期基础知识储备 Bitmap(位图文件),扩展名可以是.bmp或者.dib.位图是Windows标准格式图形文件,它将图像定义为由点(像素)组成,每个点可以由多种色彩表示,包括2.4.8.16. ...

  5. android设置自动亮度,Android亮度调节的几种实现方法

    最近在做一个App的设置项,亮度调节.真正做时,发现Android亮度调节比预想要复杂一些.其实目前网上已有不少这方面的资料,但有些博文具有一定误导性.在此将这块内容按照自己理解整理一下. 整体上看, ...

  6. 一、Android Matrix 矩阵

    一.Android矩阵 大学学的线性代数和矩阵基本忘记的差不多了,理解起矩阵Matrix着实有点费劲,记了一次笔记还把左乘右乘记错了. 1.1 使用场景 项目中会使用到矩阵的场景: 背景图片,指定位置 ...

  7. android 闪光灯 亮度调节,手机亮度调节器(com.morega.mgamread) - 7.4.1 - 应用 - 酷安

    权限信息 · 拍摄照片和视频 · 在其他应用之上显示内容 · 修改或删除您的USB存储设备中的内容 · 控制闪光灯 · 对正在运行的应用重新排序 · android.permission.FOREGR ...

  8. 了解Android Matrix转换

    原文 了解Android Matrix转换 很多年前,在学校我学习了矩阵. 我记不太清楚了,但我记得的是在想,"但是......你对这些知识做了什么呢?" 快进几年,我开始作为An ...

  9. android Matrix图片变换处理

    今天,讲讲android  Matrix图片变换处理的内容. Matrix 对于一个图片变换的处理,需要Matrix类的支持,它位于"android.graphics.Matrix&qu ...

  10. 如何理解android的函数,深入理解Android Matrix理论与使用的详解

    以前在线性代数中学习了矩阵,对矩阵的基本运算有一些了解,前段时间在使用GDI+的时候再次学习如何使用矩阵来变化图像,看了之后在这里总结说明. 首先大家看看下面这个3 x 3的矩阵,这个矩阵被分割成4部 ...

最新文章

  1. Python将Pandas中Dataframe数据保存为gzip/zip文件:gzip压缩文件、zip压缩文件
  2. 日本依靠储能系统解决光伏消纳问题
  3. asp简单样例(1)
  4. [导入]心平气和,千佳骈集;意粗性躁,一事无成
  5. python-工具-pycharm的基本操作
  6. 前端在线学习网站W3School
  7. 在Windows 2000下优化Oracle9i性能
  8. mapbox 将坐标转换成米
  9. ssh 认证指定端口
  10. 写入接口c语言_嵌入式LCD的接口类型详解
  11. python抓取qq群消息,python 爬取qq群员信息
  12. 视频教程-2020年软考系统分析师--案例分析真题精解视频课程-软考
  13. 如何使用matlab绘制晶胞结构示意图
  14. 黑色炫酷网址安全跳转GO跳转PHP源码
  15. Oracle锁表解决方法
  16. 网站制作流程详解(学做网站第一步)
  17. 【第二周】吴恩达团队AI for Medical Diagnosis课程笔记
  18. 【操作系统】 2.2 调度概念以及调度算法
  19. Windows 打开和关闭默认共享方法汇总
  20. 如何在Revit中引入WPF界面(通俗易懂)

热门文章

  1. js调用Python函数
  2. 计算机安装系统后鼠标无法使用,电脑重装系统后鼠标键盘不能用怎么办
  3. 使用Vundle管理配置Vim的插件
  4. SAP HR系统2019年五一节假日调整
  5. Redis闲谈:你一定需要的知识图谱
  6. 关于WhatsApp Business 和WhatsApp的一些区别
  7. 腾讯云Centos8.0 CPU使用率100%,top查询为kthreaddk占用异常
  8. 电脑鼠标右键没有新建选项怎么办?
  9. 平面设计需要学什么软件?平面设计软件有哪些?
  10. 渥太华大学计算机科学博士,加拿大渥太华大学计算机科学CO-OP录取案例