一:前言
1.0 : 站在巨人的肩膀上编程,学习别人的思想,学习别人的代码风格,整理好了,就是自己的。
1.1 :最近听了直播课程,了解了图片处理功能,然后自己突发奇想做磨皮效果。
1.2 :无demo说话不硬气,上github地址:https://github.com/horisea/PictureWhitening
欢迎star,你的星星是我持续创作的动力
二:先上效果图
原图
美白图
超级美白图
磨皮or马赛克![](https://img-blog.csdn.net/20170411173149294?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaG9yaXNlYQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
灰色图片
马丹:给我唐神弄一脸蒙蔽,话说我好不开心的。。
三:下面说具体实现思路:
3.1 : 大概实现思路(美白原理): 图像的显示,是一个个像素点的集合,每个像素点有自己的颜色空间,即是RGBA的单独分量,我们可以通过CGImage获取像素点集合,然后循环遍历每一个像素点集合,改变RGBA的值(每个值的范围是0-255,而且数值越大,越白),那我们把每个像素点的值增加30,是不是就整体变白了。。蒙蔽吧,上核心代码了,重要部分的注释代码,需要你自己理解和查阅资料了 。。
3.2 先上美白部分的核心代码
/**
* 美白图片
* @param imageName 图片名称
* @param whiteness 美白系数 10-150之间 越大越白