Paint 滤镜效果
LightingColorFliter
/**
* R' = R * mul.R / 0xff + add.R
* G' = G * mul.G / 0xff + add.G
* B' = B * mul.B / 0xff + add.B
*/
//红色去除掉
// LightingColorFilter lighting = new LightingColorFilter(0x00ffff,0x000000);
// mPaint.setColorFilter(lighting);
// canvas.drawBitmap(mBitmap, 0,0, mPaint);
// //原始图片效果
// LightingColorFilter lighting = n ew LightingColorFilter(0xffffff,0x000000);
// mPaint.setColorFilter(lighting);
// canvas.drawBitmap(mBitmap, 0,0, mPaint);
// //绿色更亮
// LightingColorFilter lighting = new LightingColorFilter(0xffffff,0x003000);
// mPaint.setColorFilter(lighting);
// canvas.drawBitmap(mBitmap, 0,0, mPaint);
PorterDuffColorFilter 一个颜色和图层混合
// PorterDuffColorFilter porterDuffColorFilter = new PorterDuffColorFilter(Color.RED, PorterDuff.Mode.DARKEN);
// mPaint.setColorFilter(porterDuffColorFilter);
// canvas.drawBitmap(mBitmap, 100, 0, mPaint);
ColorMatrixColorFilter 颜色矩阵
float[] colorMatrix = {
2,0,0,0,0, //red
0,1,0,0,0, //green
0,0,1,0,0, //blue
0,0,0,1,0 //alpha
};
ColorMatrix cm = new ColorMatrix();
// //亮度调节
// cm.setScale(1,2,1,1);
// //饱和度调节0-无色彩, 1- 默认效果, >1饱和度加强
// cm.setSaturation(2);
//色调调节
cm.setRotate(0, 45);
mColorMatrixColorFilter = new ColorMatrixColorFilter(cm);
mPaint.setColorFilter(mColorMatrixColorFilter);
canvas.drawBitmap(mBitmap, 100, 0, mPaint);
颜色矩阵
// 黑白
public static final float colormatrix_heibai[] = {
0.8f, 1.6f, 0.2f, 0, -163.9f,
0.8f, 1.6f, 0.2f, 0, -163.9f,
0.8f, 1.6f, 0.2f, 0, -163.9f,
0, 0, 0, 1.0f, 0};
// 怀旧
public static final float colormatrix_huajiu[] = {
0.2f, 0.5f, 0.1f, 0, 40.8f,
0.2f, 0.5f, 0.1f, 0, 40.8f,
0.2f, 0.5f, 0.1f, 0, 40.8f,
0, 0, 0, 1, 0};
// 哥特
public static final float colormatrix_gete[] = {
1.9f, -0.3f, -0.2f, 0, -87.0f,
-0.2f, 1.7f, -0.1f, 0, -87.0f,
-0.1f, -0.6f, 2.0f, 0, -87.0f,
0, 0, 0, 1.0f, 0};
// 淡雅
public static final float colormatrix_danya[] = {
0.6f, 0.3f, 0.1f, 0, 73.3f,
0.2f, 0.7f, 0.1f, 0, 73.3f,
0.2f, 0.3f, 0.4f, 0, 73.3f,
0, 0, 0, 1.0f, 0};
// 蓝调
public static final float colormatrix_landiao[] = {
2.1f, -1.4f, 0.6f, 0.0f, -71.0f,
-0.3f, 2.0f, -0.3f, 0.0f, -71.0f,
-1.1f, -0.2f, 2.6f, 0.0f, -71.0f,
0.0f, 0.0f, 0.0f, 1.0f, 0.0f};
// 光晕
public static final float colormatrix_guangyun[] = {
0.9f, 0, 0, 0, 64.9f,
0, 0.9f, 0, 0, 64.9f,
0, 0, 0.9f, 0, 64.9f,
0, 0, 0, 1.0f, 0};
// 梦幻
public static final float colormatrix_menghuan[] = {
0.8f, 0.3f, 0.1f, 0.0f, 46.5f,
0.1f, 0.9f, 0.0f, 0.0f, 46.5f,
0.1f, 0.3f, 0.7f, 0.0f, 46.5f,
0.0f, 0.0f, 0.0f, 1.0f, 0.0f};
// 酒红
public static final float colormatrix_jiuhong[] = {
1.2f, 0.0f, 0.0f, 0.0f, 0.0f,
0.0f, 0.9f, 0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 0.8f, 0.0f, 0.0f,
0, 0, 0, 1.0f, 0};
// 胶片
public static final float colormatrix_fanse[] = {
-1.0f, 0.0f, 0.0f, 0.0f, 255.0f,
0.0f, -1.0f, 0.0f, 0.0f, 255.0f,
0.0f, 0.0f, -1.0f, 0.0f, 255.0f,
0.0f, 0.0f, 0.0f, 1.0f, 0.0f};
// 湖光掠影
public static final float colormatrix_huguang[] = {
0.8f, 0.0f, 0.0f, 0.0f, 0.0f,
0.0f, 1.0f, 0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 0.9f, 0.0f, 0.0f,
0, 0, 0, 1.0f, 0};
// 褐片
public static final float colormatrix_hepian[] = {
1.0f, 0.0f, 0.0f, 0.0f, 0.0f,
0.0f, 0.8f, 0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 0.8f, 0.0f, 0.0f,
0, 0, 0, 1.0f, 0};
// 复古
public static final float colormatrix_fugu[] = {
0.9f, 0.0f, 0.0f, 0.0f, 0.0f,
0.0f, 0.8f, 0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 0.5f, 0.0f, 0.0f,
0, 0, 0, 1.0f, 0};
// 泛黄
public static final float colormatrix_huan_huang[] = {
1.0f, 0.0f, 0.0f, 0.0f, 0.0f,
0.0f, 1.0f, 0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 0.5f, 0.0f, 0.0f,
0, 0, 0, 1.0f, 0};
// 传统
public static final float colormatrix_chuan_tong[] = {
1.0f, 0.0f, 0.0f, 0, -10f,
0.0f, 1.0f, 0.0f, 0, -10f,
0.0f, 0.0f, 1.0f, 0, -10f,
0, 0, 0, 1, 0};
// 胶片2
public static final float colormatrix_jiao_pian[] = {
0.71f, 0.2f, 0.0f, 0.0f, 60.0f,
0.0f, 0.94f, 0.0f, 0.0f, 60.0f,
0.0f, 0.0f, 0.62f, 0.0f, 60.0f,
0, 0, 0, 1.0f, 0};
// 锐色
public static final float colormatrix_ruise[] = {
4.8f, -1.0f, -0.1f, 0, -388.4f,
-0.5f, 4.4f, -0.1f, 0, -388.4f,
-0.5f, -1.0f, 5.2f, 0, -388.4f,
0, 0, 0, 1.0f, 0};
// 清宁
public static final float colormatrix_qingning[] = {
0.9f, 0, 0, 0, 0,
0, 1.1f, 0, 0, 0,
0, 0, 0.9f, 0, 0,
0, 0, 0, 1.0f, 0};
// 浪漫
public static final float colormatrix_langman[] = {
0.9f, 0, 0, 0, 63.0f,
0, 0.9f, 0, 0, 63.0f,
0, 0, 0.9f, 0, 63.0f,
0, 0, 0, 1.0f, 0};
// 夜色
public static final float colormatrix_yese[] = {
1.0f, 0.0f, 0.0f, 0.0f, -66.6f,
0.0f, 1.1f, 0.0f, 0.0f, -66.6f,
0.0f, 0.0f, 1.0f, 0.0f, -66.6f,
0.0f, 0.0f, 0.0f, 1.0f, 0.0f};
Paint 滤镜效果相关推荐
- Paint滤镜效果 实现各种阴影效果,包括不规则图形
paint的滤镜效果,即对图像进行一定的过滤处理,可以实现如模糊阴影效果,浮雕效果,高亮图片,黑白照片,复古照片等效果. Android的绘图颜色值是32位的int值,即ARGB :A-Alpha值, ...
- Paint滤镜效果实现
文章目录 一.LightingColorFilter滤镜(颜色+颜色创建的滤镜效果) 二.PorterDuffColorFilter滤镜(颜色+图片) 三.ColorMatrixColorFilter ...
- Android Paint 进阶之滤镜效果(ColorFilter)
上一节整理了图层混合模式(Xfermode),这一节主要整理滤镜(ColorFilter)的使用. 分类 滤镜ColorFilter有三个子类,分别是LightingColorFilter.Porte ...
- 高级UI之Paint(滤镜,颜色通道,矩阵运算)
前言 在之前的几次课当中我们已经详细了解到整个android程序,从启动再到绘制的整体流程,从这中间我们又牵扯出了Canvas绘制图形的画板和我们的Paint控制色彩样式的画笔,那么之前基础篇我们就不 ...
- Android Paint 画笔使用详解 Android自定义View(六)
绘制在View.draw()方法里调用的,具体的执行顺序是: drawBackground():绘制背景,不能重写. onDraw():绘制主体. dispatchDraw():绘制子View onD ...
- android高级UI之Paint Xfermode
在上一次https://www.cnblogs.com/webor2006/p/12660322.html学习了Paint的第二高级用法之滤镜效果,接下来这次将它的最后一个高级用法给搞定----Xfe ...
- android中的滤镜,android 实现滤镜效果
最近在看关于自定义控件的东西,顺便看到了关于滤镜的东西,就写出来分享一下 这个有三个已知子类,写一个滤镜效果,只需要第一个已知子类就够用了,这个类构造方法public ColorMatrixColor ...
- hua图软件 mac_绘图大师Pro Paint for Mac-绘图大师Pro Paint Mac版下载 V3.5.1-PC6苹果网...
绘图大师Pro Paint Mac版是Mac平台上的一款专业的绘图和图像处理软件.绘图大师Pro Paint Mac版为用户提供大量的高品质图像处理工具从而更好的创造原创艺术作品. 软件特色 绘图大师 ...
- Android:视图绘制(六) ------Paint进阶之ColorMatrix(一)
本文主要讲ColorMatrix(色彩矩阵),Android中的图像颜色变换(色值,色相,饱和度,亮度,滤镜等一系列效果)均可用其实现. 写本文的时候距离这系列文章的上一篇已经有一段时间了,最近公司我 ...
最新文章
- python中的pop()函数和popleft()函数
- DotNetCore跨平台~dotnet pack打包详细介绍
- ps4连接r星服务器稳定,移植到不同平台的《GTA5》有什么变化?与八年前相比,差距这么大...
- 1562区别 洛达1552_洛达1562A与洛达1536u与杰里有哪些区别呢?
- android sdk根目录,Android SDK根目录中的SDK Manager.exe双击打不开,为什么?
- RHCE课程-RH253Linux服务器架设笔记五-APACHE服务器配置(2)
- 【台词】严厉的愛Tough Love」(后妈茶话会)
- 如何在线倍速观看百度网盘学习视频并快速做笔记
- OptiCoupe 6:光学切割面板和型材切割优化[OptiCut]
- 神经网络求解NS方程
- linux中如何从txt转为nc文件,【转】linux下nc的使用
- 2022年计算机保研记录(计算所、浙大、华科、东南、北航)
- git reset,rebase,amend 使用实战
- vue综合项目——悦听音乐播放器
- 超阅读:数码时代的文本变革
- DP\记忆化搜索-牛客寒假集训营3-牛牛的DRB迷宫I
- 通信原理|Chapter1.绪论
- 打开桌面计算机投屏到扩展屏,win10电脑桌面投屏到电视教程_Win10电脑怎么投屏到电视...
- Note: NumExpr detected 12 cores but NUMEXPR_MAX_THREADS not set, so enforcing safe limit of 8. NumEx
- Manifest merger failed with multiple errors问题解决
热门文章
- 压缩包忘记密码怎么解压
- PT100/PT1000
- 质量内建是规模化敏捷(规模化研发交付)的核心
- 四川农业大学ZigBee复习重点
- AC100安装linux,Toshiba AC100 Ubuntu安装Flash Player
- 安卓强制恢复出厂_手机“恢复出厂设置”后能变得流畅如初吗?内行人偷偷告诉你答案...
- 全面解读数字化中台!
- 那一年的北风--序言2
- 最小的语言符号是A词B语素C音素D义素,全国2009年1月高等教育自学考试语言学概论试题...
- Java多线程实现电影院在线选座