时间:2021-05-20
iOS 图片裁剪方法,主要有两种,一起来看下。
通过 CGImage 或 CIImage 裁剪
UIImage有cgImage和ciImage属性,分别可以获得CGImage和CIImage对象。CGImage和CIImage对象都有cropping(to:)方法,传入CGRect的参数表示要裁剪的区域(采用UIImage的坐标)。
对CGImage来说,传入的CGRect参数如果完全不在原图区域内,cropping(to:)方法返回空;如果有部分在原图区域内,cropping(to:)方法返回在原图区域部分的CGImage。
通过位图(Bitmap)裁剪
通过位图重新绘制图片,也可以获得裁剪之后的图片。
位图大小为需要裁剪区域CGRect的大小size。用原图绘制,为了使裁剪区域正好在位图区域,需要进行坐标位移context.translateBy(x: -rect.minX, y: -rect.minY)。
如果传入的CGRect参数有部分或全部不在原图区域内,则超出原图区域的部分也会被绘制(绘制为透明),这与CGImage的裁剪方法不同。
简单试了几次,发现通过 CGImage 裁剪的 CPU 占用率比通过位图裁剪要低。仅从性能角度考虑,推荐使用前者。如果希望裁剪出来的图片不超出原图区域,也推荐使用前者。如果需要绘制其他的内容(比如其他形状、颜色,或绘制的内容超出原图区域),则要使用后者。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
之前分别介绍了图片裁剪和图片旋转方法《iOS图片裁剪方法》地址:http://www.zzvips.com/article/145411.html《iOS图片旋
本文实例讲述了PHP实现图片不变型裁剪及图片按比例裁剪的方法。分享给大家供大家参考,具体如下:图片不变型裁剪$target_ratio){//image-to-
本文介绍了微信小程序图片选择区域屏裁剪实现方法,分享给大家。具体如下:效果图HTML代码开始裁剪点击上传图片点击确认等屏裁剪区域裁剪重新裁剪CSS代码.imgC
本文实例为大家分享了iOS将图片裁剪成圆形的具体代码,供大家参考,具体内容如下原图:圆形图片裁剪效果:裁剪成带边框的圆形图片:核心代码:#import@inte
本文实例讲述了Android实现图片拍照剪裁的方法。分享给大家供大家参考,具体如下:调用系统的裁剪工具对相册或者拍照的图片进行裁剪。startActivityf