2016技术笔记

2016笔记——图片剪切

2018-07-27  本文已影响2人  满庭花醉三千客

今天想要试一下图片能不能随心所欲的剪切。

为此,我写了一个测试的Demo:

仅仅在ViewController中写了东西,下面是代码:

屏幕快照 2016-04-08 15.36.48.png 屏幕快照 2016-04-08 15.37.21.png 屏幕快照 2016-04-08 15.37.50.png 屏幕快照 2016-04-08 15.38.07.png

先看看什么都没处理时的效果:

屏幕快照 2016-04-08 16.18.39.png

我所想要剪切的图形如下图所示:

屏幕快照 2016-04-08 15.49.54.png

为了便于理解和记忆,我进行了如下测试:

屏幕快照 2016-04-08 15.49.54 2.png

第一种的代码:

屏幕快照 2016-04-08 17.23.24.png

效果为:

Simulator Screen Shot 2016年4月8日 17.10.22.png

第二种的代码:

屏幕快照 2016-04-08 17.24.46.png

第二种的效果:

Simulator Screen Shot 2016年4月8日 17.09.07.png

此外,不同的规则也会产生不同的效果:

屏幕快照 2016-04-08 15.49.54 3.png

使用非零环绕数规则,即CGContextClip()时的效果为:

Simulator Screen Shot 2016年4月8日 17.45.45.png

使用奇偶环绕数规则,即CGContextEOClip()时的效果为:

Simulator Screen Shot 2016年4月8日 17.47.17.png

通常下的上面规则:

使用奇偶环绕数规则:相邻的区域不会都填充,也不会都不填充。

使用非零环绕数规则:相同环绕路径的都会被填充,不同环绕路径的,相交的区域将不会填充。

具体的以对应的规则判断出来的结果为准。
加油~

上一篇下一篇

猜你喜欢

热点阅读