iOS 基于ColorMatrix制作简单滤镜

Demo截图

Demo链接:https://github.com/MrCoderDing/ImageFilterByColorMatrix

说到滤镜一般比较熟悉的是CIFilter、GPUImage、vImage API还有一种比较简单的滤镜ColorMatrix。
之前在项目中一个小功能要加滤镜,需求是要够用,方便。在没有考虑直接用第三方滤镜的情况下,最后还是选择使用ColorMatrix来完成任务。并且这个方案安卓和iOS通用,如果花时间做一套颜色矩阵,成本将降低很多。

1、颜色矩阵

lomo和黑白我做了细微调整,会稍微舒服一些:

const float colormatrix_lomo[] = {
//    1.7f,  0.1f, 0.1f, 0, -73.1f,
//    0,  1.7f, 0.1f, 0, -73.1f,
//    0,  0.1f, 1.6f, 0, -73.1f,
//    0,  0, 0, 1.0f, 0
    1.20, 0.10, 0.10, 0.00, -73.10,
    0.00, 1.20, 0.10, 0.00, -73.10,
    0.00, 0.10, 1.10, 0.00, -73.10,
    0.00, 0.00, 0.00, 0.00, 0.00
};

// 2、黑白
const 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
    0.00, 0.00, 1.00, 0.00, -1,
    0.00, 0.00, 1.00, 0.00, -1,
    0.00, 0.00, 1.00, 0.00, -1,
    0.00, 0.00, 0.00, 1.00, 0.00
};
// 3、复古
const 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 };

// 4、哥特
const float colormatrix_gete[] = { 
    1.9f,-0.3f, -0.2f, 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值