介绍图片剪裁,以剪裁圆形为例

普通剪裁

带圆环的图片


拖入一个UIImageView,取名“imageView”到view中

  • 裁剪出一个普通圆形图片
//0 加载图片UIImage * image = [UIImage imageNamed:@"阿狸"];//1 开启位图上下文,跟图片尺寸一样大UIGraphicsBeginImageContextWithOptions(image.size, NO, 0);//2 设置圆形裁剪区域(改动此方法可改变裁剪形状)UIBezierPath * path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, image.size.width, image.size.height)];//3 把路径设置为剪裁区域[path addClip];//3 绘制图片[image drawAtPoint:CGPointZero];//4 从上下文中获取图片UIImage * imageNew = UIGraphicsGetImageFromCurrentImageContext();//5 关闭上下文UIGraphicsEndImageContext();self.imageView.image = imageNew;
  • 裁剪出带圆环的图片(给UIImage添加一个类目方法)
/**裁剪一个带圆环的图片 @param image 图片
 @param borderWidth 圆环宽度
 @param color 圆环颜色
 @return 裁剪完成的图片*/
+(UIImage*)imageWithClipImage:(UIImage*)image borderWidth:(CGFloat)borderWidth borderColor:(UIColor*)color
{//图片的高度和宽度CGFloat imageWH = image.size.width;//圆环的宽度CGFloat border = borderWidth;//大圆形的宽度和高度CGFloat ovalWH = imageWH + 2 * border;//1、开启上下文UIGraphicsBeginImageContextWithOptions(CGSizeMake(ovalWH, ovalWH), NO, 0);//2、画大圆UIBezierPath * path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, ovalWH, ovalWH)];[color set];[path fill];//3、设置剪裁区域(需先设置)UIBezierPath * clipPath = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(border, border, imageWH, imageWH)];[clipPath addClip];//4.绘制图片[image drawAtPoint:CGPointMake(border, border)];//5、获取图片UIImage * clipImage = UIGraphicsGetImageFromCurrentImageContext();//6、关闭上下文UIGraphicsEndImageContext();return clipImage;
}

github demo : PictureCutDemo

九 iOS之 图片剪裁相关推荐

  1. ios 裁剪框大小_iOS实现裁剪框和图片剪裁功能

    这篇文章主要为大家详细介绍了iOS实现裁剪框和图片剪裁功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下图片处理中经常用的图片剪裁,就是通过剪裁框确定图片剪裁的区域,然后剪去该区域的图片,今天实现 ...

  2. vue之使用Cropper进行图片剪裁上传压缩

    vue之使用Cropper进行图片剪裁上传 在项目中,对上传的图片按照比例和尺寸进行裁剪,以便于应用到不同的场景和平台上.这里采用cropper插件裁剪图片 一.cropper的使用 使用教程:htt ...

  3. iOS开发-图片离线鉴黄 基于TensorFlow nsfw oc版

    iOS开发-图片离线鉴黄 基于TensorFlow nsfw oc版 前言-基于TensorFlow鉴黄 效果 首先要引入Firebase 鉴黄类的封装 OC版本的鉴黄demo Swift版本的鉴黄 ...

  4. ASP.NET Ajax实现图片剪裁

    实现这个功能主要用到了JQuery和基于JQuery的图片处理插件JCrop. JQuery可以下载下来,或者在代码中这样引用<script type="text/javascript ...

  5. IM4Java + GraphicsMagick 实现高清图片剪裁处理

    2019独角兽企业重金招聘Python工程师标准>>> 简单介绍 GraphicsMagick是ImageMagick的一个分支,相对于ImageMagick而言,TA处理速度更快, ...

  6. iOS UIButton 图片文字上下垂直布局 解决方案

    iOS UIButton 图片文字上下垂直布局 解决方案 参考文章: (1)iOS UIButton 图片文字上下垂直布局 解决方案 (2)https://www.cnblogs.com/yajunL ...

  7. Android图片剪裁库

    最近利用一周左右的业余时间,终于完成了一个Android图片剪裁库,核心功能是根据自己的理解实现的,部分代码参考了Android源码的图片剪裁应用.现在将该代码开源在Github上以供大家学习和使用, ...

  8. html中剪切图片所用插件,简单功能强大的jQuery图片剪裁插件Image Cropper

    插件描述:相信很多朋友都在大型的网站,如新浪微博.QQ微博上看到过头像裁图工具,感觉很高大尚吧,今天朋友们有福了,今天就来说一说一款这么高大尚的插件cropper,cropper是一款使用简单且功能强 ...

  9. ios 按钮图片充满按钮_iOS有一些非常危险的按钮-UX评论

    ios 按钮图片充满按钮 I recently bought a cool thing off Amazon. It's an adapter for iPhone, making it easy t ...

最新文章

  1. python中字符串前面加一个u或者r的区别
  2. Vue中splice的使用:删除 替换 添加
  3. snmp自动化安装脚本
  4. onhashchange
  5. 私有云为先 ZStack还在谋划一个更大的混合云世界
  6. Hadoop学习笔记目录
  7. UVA10014 Simple calculations【数列】
  8. mybatis如何处理参数
  9. React Native填坑之旅--Button篇
  10. TSC TTP-244条码打印机如何批量打印二维码
  11. pds如何安装虚拟服务器,PDS工业缝纫机制版软件安装及常见问题解决方法
  12. 长江大学计算机基础试卷2018 2019,长江大学2017年第一学期-计算机基础试卷.doc
  13. 51单片机学习历程(一)单片机入门
  14. 实验8人机交互页面的创新设计
  15. Android手机号码获取问题 用APN来获取手机号
  16. 2020软件工程专硕考研经验指导
  17. L2-039 清点代码库(Python3)
  18. stm32f4 CubeMX生成IAR工程 移植ST官方 Bootloader 教程
  19. 手把手Neo4j教程,超全!!!
  20. make: *** [ext/fileinfo/libmagic/apprentice.lo] Error 1

热门文章

  1. oracle update exsits,Oracle 11g 递归+ exists执行计划的改变
  2. RabbitMQ的安装
  3. qt 设置进程优先级_如何设置最低优先级的进程?
  4. 笔记本电脑什么牌子好 世界笔记本电脑排名
  5. 学计算机有哪些推荐书籍?
  6. 项目部署-虚拟机-ip-Java变量-mysql-redis
  7. [BUGKU] [REVERSE] 逆向入门
  8. Springboot汽车配件销售管理系统毕业设计源码131650
  9. 针对某个WEB渗透的整套修复建议(更新部分)
  10. c语言输出字符的utf码,C语言里如何把GBK码转换为UTF8?