时间:2021-05-02
之前分别介绍了图片裁剪和图片旋转方法
《iOS 图片裁剪方法》
地址:http://www.zzvips.com/article/145411.html
《iOS 图片旋转方法》
地址:http://www.zzvips.com/article/145412.html
裁剪和旋转是可以连在一起执行的。先定位到需要裁剪的区域,然后以此区域的中心为轴,旋转一定角度,最后获取旋转后此区域内的图片。可以用位图(Bitmap)绘制实现
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 static func cropImage(_ image: UIImage, withRect rect: CGRect, angle: Double) -> UIImage? { // Creates a bitmap-based graphics context with rect size // and makes it the current context UIGraphicsBeginImageContext(rect.size) // Get current graphics context guard let context = UIGraphicsGetCurrentContext() else { return nil } // Move context origin to rect center context.translateBy(x: rect.width / 2, y: rect.height / 2) // Convert angle to radian and rotate context.rotate(by: CGFloat(angle / 180 * M_PI)) // Move context origin back (-rect.width / 2, -rect.height / 2) // and move opposite direction of rect origin (-rect.minX, -rect.minY) context.translateBy(x: -rect.width / 2 - rect.minX, y: -rect.height / 2 - rect.minY) // Draw image at context origin image.draw(at: .zero) // Get image let finalImage = UIGraphicsGetImageFromCurrentImageContext() // Removes the current bitmap-based graphics context from the top of the stack UIGraphicsEndImageContext() // Return image return finalImage }rect为需要裁剪的区域,采用原图的坐标系。angle为需要旋转的角度,单位是度,正值表示图片顺时针方向旋转。具体实现的讲解见注释。
最后的图片可能超出原图区域,超出部分为透明。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持服务器之家!
原文链接:http://www.cnblogs.com/silence-cnblogs/p/6516593.html
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
前言:基于RxPaparazzo的图片裁剪,图片旋转、比例放大|缩小。效果:开发环境:AndroidStudio2.2.1+gradle-2.14.1涉及知识:
本文实例为大家分享了iOS将图片裁剪成圆形的具体代码,供大家参考,具体内容如下原图:圆形图片裁剪效果:裁剪成带边框的圆形图片:核心代码:#import@inte
iOS图片裁剪方法,主要有两种,一起来看下。通过CGImage或CIImage裁剪UIImage有cgImage和ciImage属性,分别可以获得CGImage
用word裁剪图片的具体步骤: 1、打开word,点击“插入”里的【图片】选项,选择需要裁剪的图片。 2、在“格式”菜单里点击“裁剪”命令即可对图片拖动裁剪
以天天P图为例,竖着三宫格图片制作步骤: 1、打开天天P图,在里面选择装饰美化; 2、在里面找到要处理的图片打开; 3、选择底部的裁剪旋转; 4、选择1