[UIImage系列]-图片的任意旋转、剪切及拉伸

本文讲述关于UIImage的一系列操作。

首先,来强调一个知识点:
对于UIImage的旋转、剪切等操作,并非是对其进行动画操作,因为动画本身的执行是针对存放UIImage的那个View来进行的,也就是说如果你通过动画来进行裁剪、旋转、变形等操作,他并没有对原有的图片本身有任何实质性的改变。事实上,对于UIImage的这些任意处理,我们是通过获取它的图形上下文Context来进行操作的。

接下来我们具体看看如何进行图片的任意处理:

  1. 图片的任意角度旋转
    实现思路:首先将需要处理的图片渲染到她的context上,然后对得到的这个context进行我们需要的旋转处理,最后再将旋转过的context转化为UIImage的类型。

具体的操作步骤如下图所示:


创建旋转分类、实现旋转处理

在我们的VC中就只需要引入头文件进行方法调用即可:


旋转方法的调用
  1. 图片的任意位置剪切
    实现思路:首先获取自己需要处理的图片,然后对他的图形上下文进行剪切绘制处理,最后将处理后的内容转化为图片形式。

具体的操作步骤如下图所示:


创建剪切分类、实现剪切处理

在我们的VC中就只需要引入头文件进行方法调用即可:


剪切方法的调用
  1. 图片的任意拉伸
    实现思路:首先获取自己需要处理的图片,然后对他的图形上下文进行拉伸处理,最后将处理后的内容转化为图片形式。

具体的操作步骤如下图所示:


创建拉伸分类、实现拉伸处理
拉伸方法的调用

以上就是通过创建分类,处理图形上下文来实现图片的任意旋转、剪切以及拉伸操作的方法。其实通过上述方法,我们可以看出对于图片的这些处理,其根本就在于对图形上下文ImageContext的一系列处理以及他和图片本身的转化。

另外、两个小建议:(1)大家在处理图片的时候尽量去使用同一张图片对其进行不同的操作,这样可以更直观的看出来到底有怎样不同的效果。(2)关于图形上下文这一方面的内容在平时的一般开发中并不常用,知识点上可能会觉得有好多之前未曾接触过的内容,这就需要大家多去搜索和、学习和积累了。

希望我的文章能对大家有所帮助。

我是姣爷、我在简书、和你们一起、加油!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • --绘图与滤镜全面解析 概述 在iOS中可以很容易的开发出绚丽的界面效果,一方面得益于成功系统的设计,另一方面得益...
    韩七夏阅读 2,791评论 2 10
  • Core Graphics Framework是一套基于C的API框架,使用了Quartz作为绘图引擎。它提供了低...
    ShanJiJi阅读 1,598评论 0 20
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 8,566评论 6 30
  • “你不能总是轻易得到心之所想,但若你愿意尝试,你会发现所需之物触手可得。”
    木樨_f186阅读 205评论 0 0
  • 难过是一定的。爱的反面不是恨,而是麻木不仁。但暂且让我们先将无意义的难过与成片的哀嚎放在一边,你听我说。 人活着有...
    淘淘象阅读 4,001评论 8 6