原图:

圆形图片裁剪效果:

裁剪成带边框的圆形图片:

核心代码:

#import <UIKit/UIKit.h>@interface UIImage (image)/***  生成一张圆形图片**  @param image       要裁剪的图片**  @return 生成的圆形图片*/+ (UIImage *)imageWithClipImage:(UIImage *)image;/***  生成一张带有边框的圆形图片**  @param borderW     边框宽度*  @param borderColor 边框颜色*  @param image       要添加边框的图片**  @return 生成的带有边框的圆形图片*/
+ (UIImage *)imageWithBorder:(CGFloat)borderW color:(UIColor *)borderColor image:(UIImage *)image;@end
#import "UIImage+image.h"@implementation UIImage (image)+ (UIImage *)imageWithClipImage:(UIImage *)image{
+ //1.开启跟原始图片一样大小的上下文UIGraphicsBeginImageContextWithOptions(image.size, NO, 0);//2.设置一个圆形裁剪区域//2.1绘制一个圆形UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, image.size.width, image.size.height)];//2.2.把圆形的路径设置成裁剪区域[path addClip];//超过裁剪区域以外的内容都给裁剪掉//3.把图片绘制到上下文当中(超过裁剪区域以外的内容都给裁剪掉)[image drawAtPoint:CGPointZero];//4.从上下文当中取出图片UIImage *newImage =  UIGraphicsGetImageFromCurrentImageContext();//5.关闭上下文UIGraphicsEndImageContext();return newImage;
}+ (UIImage *)imageWithBorder:(CGFloat)borderW color:(UIColor *)borderColor image:(UIImage *)image{//1.开启一个上下文CGSize size = CGSizeMake(image.size.width + 2 * borderW, image.size.height + 2 * borderW);UIGraphicsBeginImageContextWithOptions(size, NO, 0);//2.绘制大圆,显示出来UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, size.width, size.height)];[borderColor set];[path fill];//3.绘制一个小圆,把小圆设置成裁剪区域UIBezierPath *clipPath = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(borderW, borderW, image.size.width, image.size.height)];[clipPath addClip];//4.把图片绘制到上下文当中[image drawAtPoint:CGPointMake(borderW, borderW)];//5.从上下文当中取出图片UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();//6.关闭上下文UIGraphicsEndImageContext();return newImage;
}

iOS 把图片裁剪成圆形相关推荐

  1. ios 将矩形图片裁剪成圆形图片

    在ios中将一个正方形的图片裁剪成圆形的图片是一件非常容易的事情, 直接设置 imageView.layer.cornerRadius 这个属性, 再设置 imageView.clipsToBound ...

  2. 如何把一个图片裁剪成圆形

    1.有的时候,为了工作的需要,需要吧图片裁剪成圆形.我们一般有两种思路:让承载image的ImageView变成圆形,或者把图片变成圆形. A:通过image的mask 来操作.需要添加mask目标图 ...

  3. php 将图片截取成3张,【php】php gd库怎么把一个图片裁剪成圆形的

    微信的头像现在要加水印到一张图片上 弄成 圆形的 怎么裁剪呢 Imagick提供的有 gd库 怎么做呢 因为要在微信中生成这个图片发送给用户 所以必须是生成这样的图片的 css的border-radi ...

  4. gd剪裁圆形图片 php_php gd库怎么把一个图片裁剪成圆形的

    微信的头像现在要加水印到一张图片上 弄成 圆形的 怎么裁剪呢 Imagick提供的有 gd库 怎么做呢 因为要在微信中生成这个图片发送给用户 所以必须是生成这样的图片的 css的border-radi ...

  5. 利用php gd or Imagick库把图片裁剪成圆形

    主要这两种方法,记录一下: 一.设置透明度 function test($url,$path='./'){ $w = 110; $h=110; // original size $original_p ...

  6. android 圆形裁剪,Android中将图片裁剪成圆形的方法

    直接上代码吧,如果需要拍照或者从相册中选择图片的功能,推荐一个开源库,用起来很方便 http://www.jianshu.com/p/35ce3b82773e //裁剪图片的第三方库http://ww ...

  7. php 将图片裁剪成圆形图片,裁剪图片为圆形

    ``` /** * 处理圆角图片 * @param srting $imgpath 源图片的路径 * @return [type] [description] */ public function r ...

  8. WPF 中使用附加属性,将任意 UI 元素或控件裁剪成圆形(椭圆)

    原文:WPF 中使用附加属性,将任意 UI 元素或控件裁剪成圆形(椭圆) 版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可.欢迎转载.使用.重新发布,但务必保 ...

  9. 调用系统相机和相册,并且裁剪成圆形图片(解决6.0,7.0,8.0版本问题)

    之前写过一篇博客,那篇博客对7.0手机裁剪图片的问题没有进行解决,现在对之前的那篇博客进行补充,解决了Android6.0,7.0,8.0版本问题,不仅可以调用相册,相机,还可以将图片保存到本地,并且 ...

最新文章

  1. suse linux 命令
  2. Mysql 获取当月和上个月第一天和最后一天的SQL
  3. Swift - 使用CollectionView实现图片Gallery画廊效果(左右滑动浏览图片)
  4. 旋转数组中的最小元素 java_程序员算法面试题之旋转数组的最小值
  5. oracle date引入哪个包,oracle 索引字段包含date类型,使用spring jdbc更新时不走索引,而是走table access full的问题...
  6. 01-centos安装界面,远程连接
  7. thunderx 循环获得_湖北专业生产CY310热循环风机厂商
  8. AS3多线程快速入门(一):Hello World[
  9. WCF 第一章 基础 更多关于配置文件的内容
  10. Java多线程进阶(三六)—— J.U.C之collections框架:DelayQueue
  11. 获得当月时间chuo_擅用GTD时间管理法,远离焦虑情绪,让你的工作、学习井然有序...
  12. 八数码问题BFS算法
  13. 三阶魔方快速还原法还原方法
  14. Runloop与UITableView简单结合
  15. 坚果云 android 操作历史,坚果云怎样将文件恢复到某一个历史版本?两招轻松搞定!...
  16. Kubernetes1.3:QoS服务质量管理
  17. 笔记本外接显示屏调节亮度不刺眼
  18. 数字ic设计流程以及相关工具
  19. 易友八字合婚系统发布(支持同性基友拉拉兼容)1.01发布
  20. 2023年电工杯数学建模B题 人工智能对大学生学习影响的评价 具体建模过程 代码以及思路

热门文章

  1. 【C++学习】类和对象(中)一招带你彻底了解六大默认成员函数
  2. 【转】从五个方面解读APM
  3. Swift Struct结构体
  4. 桌面图标计算机的意义,怎样调出电脑桌面图标
  5. 一个深漂的租房经验心得
  6. vue项目设置浏览器标题title
  7. 买买买!国际科技巨头开启云计算军备竞赛
  8. Python基础 day07--集合
  9. 负数在计算机中怎样存储
  10. 台式计算机默认关机变注销,Win7关机变注销怎么办 Win7点击关机变成注销现象的解决方法...