Android 静态滤镜的实现
一、回顾知识点
1、基本滤镜效果的实现(黑白滤镜)
用到的技术是ColorMatrix。通过改变RGBA的系数,从而改变图像的成像效果。
Created with Rapha?l 2.1.2图像BitmapColorMateixRGB系数滤镜图像
2、PS滤镜效果的实现(反色效果、冰冻效果、油画效果)
用到的技术是通过遍历图像的像素点,设置图像的像素点的RGB三原色来实现PS效果。
Created with Rapha?l 2.1.2图像Bitmap获取像素getPixelsPS算法 修改像素点Color.red/green/blue滤镜图像
二、静态滤镜的实现
基于之前积累下来的知识点,在对静态滤镜的实现方面做一下提升,还是从两方面进行实现。
1、基本滤镜效果升级版 –> 伪lomo滤镜的实现
Created with Rapha?l 2.1.2原始图片ColorMatrix处理在处理后的图片上覆盖一层彩色lomo图片覆盖上彩色lomo伪lomo滤镜效果
- step1:原始图片
- step2:ColorMatrix处理
- step3:在处理后的图片上覆盖一层彩色lomo图片
- step4:覆盖上彩色lomo后的效果
- step5:伪lomo滤镜效果
2、PS滤镜效果升级版 –> 老照片滤镜的实现
(1)HSL颜色标准
- HSL色彩模式是工业界的一种颜色标准,是通过对色调(H)、饱和度(S)、亮度(L)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜 色的,HSL即是代表色调,饱和度,亮度三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。
- HSL色彩模式使用HSL模型为图像中每一个像素的HSL分量分配一个0~255范围内的强度值。HSL图像只使用三种通道,就可以使它们按照不同的比例混合,在屏幕上重现16777216种颜色。
- 在 HSL 模式下,每种 HSL 成分都可使用从 0到 255的值。(其中L是从黑(0)到白(255)渐变) 。
老照片效果的总体思路是,对色调、饱和度、亮度进行处理,而非之前的红绿蓝色调处理。
(2)算法实现
Created with Rapha?l 2.1.2自定义一个ColorBalance类(用于色彩平衡)Bitmap建立检索表颜色矩阵(用于RGB色值的微调)图片转换为HSL标准HSL转回为RGB底片进行α混淆
- 效果图
时间: 2024-09-30 10:14:05