无线互联——————————滤镜篇

疑问滤镜的原理:用Core Graphic的API,将图片解析成RGBA四通道的位图放入内存,然后内存中有一个数组,数组中的每四个元素都是图像上的一个像

点的RGBA的数值(0-255),你只要改变RGB的数值,再写回去重新生成就可以了。简单的变化RGB很好改的,变为黑白照片就是把每个像素点的RGB的值相加求平均值,再回写回去。例如:R=B=G=100,就是灰色的,你只要写个for循环,把每个像素点的RGB都改成各自的平均值,照片就变为黑白色了。如果图像变为怀旧照片,就是底色发黄的,就是RG的比值调高,B保持不变,因为红绿相配就是黄色。”

惊讶简述RGBA:  RGBA是代表Red(红色) Green(绿色) Blue(蓝色)和 Alpha的色彩空间。虽然它有的时候被描述为一个颜色空间,但是它其实仅仅是RGB模型的附加了额外的信息。



以上都是网上能查到的,制作滤镜功能前提就是对这方面有略微了解,具体代码实现,请联系我(774926742)害羞,运行即可:

第一步:创建工具类,并提供一个类方法。(获取图片的rgba,然后返回修改生成新的图片)。



第二步:自定义一些颜色矩阵。(这里我网上查的一个叫李海峰的大神写的,自己网上查查资料三天就能学会吧,应该)。



第三步:ui界面的实现。在选择颜色的时候在scrollView添加了一个segmentedControl,避免了一些scrollView的一些代理操作。


调用工具类的类方法,就可以看到想实现的结果了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值