本文讲述关于UIImage的一系列操作。
首先,来强调一个知识点:
对于UIImage的旋转、剪切等操作,并非是对其进行动画操作,因为动画本身的执行是针对存放UIImage的那个View来进行的,也就是说如果你通过动画来进行裁剪、旋转、变形等操作,他并没有对原有的图片本身有任何实质性的改变。事实上,对于UIImage的这些任意处理,我们是通过获取它的图形上下文Context来进行操作的。
接下来我们具体看看如何进行图片的任意处理:
- 图片的任意角度旋转
实现思路:首先将需要处理的图片渲染到她的context上,然后对得到的这个context进行我们需要的旋转处理,最后再将旋转过的context转化为UIImage的类型。
具体的操作步骤如下图所示:
在我们的VC中就只需要引入头文件进行方法调用即可:
- 图片的任意位置剪切
实现思路:首先获取自己需要处理的图片,然后对他的图形上下文进行剪切绘制处理,最后将处理后的内容转化为图片形式。
具体的操作步骤如下图所示:
在我们的VC中就只需要引入头文件进行方法调用即可:
- 图片的任意拉伸
实现思路:首先获取自己需要处理的图片,然后对他的图形上下文进行拉伸处理,最后将处理后的内容转化为图片形式。
具体的操作步骤如下图所示:
以上就是通过创建分类,处理图形上下文来实现图片的任意旋转、剪切以及拉伸操作的方法。其实通过上述方法,我们可以看出对于图片的这些处理,其根本就在于对图形上下文ImageContext的一系列处理以及他和图片本身的转化。
另外、两个小建议:(1)大家在处理图片的时候尽量去使用同一张图片对其进行不同的操作,这样可以更直观的看出来到底有怎样不同的效果。(2)关于图形上下文这一方面的内容在平时的一般开发中并不常用,知识点上可能会觉得有好多之前未曾接触过的内容,这就需要大家多去搜索和、学习和积累了。
希望我的文章能对大家有所帮助。
我是姣爷、我在简书、和你们一起、加油!