图片处理,手指涂抹图片,使图片局部模糊
手指涂抹图片,图片局部模糊,网上资料真的是太少了,这里记录一下自己一段时间的研究总结了两方面: 1、 利用高斯模糊,手指划过的路径获取放大后该路径上的图片,模糊化,然后画到图片上 2、用画线的方法,贝塞尔曲线,利用UIImageView的CALayer,达到图片的模糊化
第一种方式,也能够实现模糊化,但是有个很大的弊端是卡顿,而且非常的消耗性能,自己做的时候,初步实现了,然后就直接放弃了,如果有大佬能实现,希望告之,谢谢 第二种方式,利用CALayer以及CAShapeLayer,追加路径的方式,结合高斯模糊,能够达到这种效果,而且效果很理想,不存在卡顿的问题,在实现这个功能之间,我就模仿美图秀秀这款专业级的图片处理App,因为他们的流畅性,太完美了
具体的东西,都在代码里,emm.....其实代码里有很多地方可以优化,希望大家多给些意见,共同提高。
另外提醒一下,代码里涉及了模糊程度以及画笔的粗细,动态的改动,这里额外的有一个撤回功能,还有一个隐藏的橡皮擦功能,也就是把模糊程度设置为0的时候,就有橡皮擦的功能
遗留问题,如果一个图片多次模糊的话,模糊轨迹留下的颜色会有些许变化,本人感觉可能是多个layer层导致的,但是没有找到解决方案,希望大家能够帮忙解决一下
// added 2018.08.15 遗留问题已解决
QQ:1029520524