废话不多说,直接上代码

#import "ViewController.h"

@interface ViewController ()

@property (nonatomic,strong)UIImageView *imageView;

@end

@implementation ViewController

- (void)viewDidLoad {
[super viewDidLoad];
self.imageView = [[UIImageView alloc] initWithFrame:CGRectMake(, , , )];
[self.view addSubview:self.imageView]; [self yuan]; }
/**
* 在圆形外面加一个圆环
*/
- (void)yuanHuan{
//0.加载图片
UIImage *image = [UIImage imageNamed:@"AppIcon1024"];
//图片的宽度
CGFloat imageWH = image.size.width;
//设置圆环的宽度
CGFloat border = ;
//大圆形的宽度高度
CGFloat ovalWH = imageWH + * border; //1、开启位图上下文
UIGraphicsBeginImageContextWithOptions(CGSizeMake(ovalWH, ovalWH), NO, ); //2、画大圆
UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(, , ovalWH, ovalWH)];
[[UIColor redColor] 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(); self.imageView.image = clipImage;
}
/**
* 裁剪一个原型图片
*/
- (void)yuan{
//获取图片
UIImage *image = [UIImage imageNamed:@"AppIcon1024"];
//1.开启位图上下文,跟图片尺寸大小一样
//NO:不透明 0:scale不缩放
UIGraphicsBeginImageContextWithOptions(image.size, NO, );
//2.设置图形裁剪区域,正切图片
//2.1创建一个圆形路径
UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(, , image.size.width, image.size.width)];
//2.2把路径设置裁剪区
[path addClip];
//3.绘制图片
[image drawAtPoint:CGPointMake(, )];
//4.从上下文中获取图片
UIImage *clipImage = UIGraphicsGetImageFromCurrentImageContext();
//5.关闭上下文
UIGraphicsEndImageContext(); _imageView.image = clipImage; } - (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
} @end

源码下载地址:https://github.com/TianHero/caijian.git

iOS圆形图片裁剪,以及原型图片外面加一个圆环的更多相关文章

  1. iOS圆形图片裁剪,原型图片外面加一个圆环

    /** *  在圆形外面加一个圆环 */ - (void)yuanHuan{ //0.加载图片 UIImage *image = [UIImage imageNamed:@"AppIcon1 ...

  2. DDGScreenShot--iOS 图片裁剪,切圆角,加边框,你还用cornerRadius,还有更高级的用法

    写在前面 我们肯定做过这样的需求,给一个图片切圆角, 当然我们大多采用简单粗暴的方法 myIcon.layer.cornerRadius = 16.5 myIcon.layer.masksToBoun ...

  3. react-native多图选择、图片裁剪(支持ad/ios图片个数控制)

    扯淡: 目前关于rn比较知名并且封装好的图片选择控件很多,不过能同时支持多图片上传,个数控制兼容iOS/Ad的却寥寥无几,而今天介绍的这款框架可以实现:图片裁剪.最大图片个数限制.拍照.本地相册等功能 ...

  4. 无需Flash实现图片裁剪——HTML5中级进阶

    前言 图片裁剪上传,不仅是一个很贴合用户体验的功能,还能够统一特定图片尺寸,优化网站排版,一箭双雕. 需求就是那么简单,在浏览器里裁剪图片并上传到服务器. 我第一个想到的方法就是,将图片和裁剪参数(x ...

  5. iOS常见用户头像的圆形图片裁剪常见的几种方法

    在开发中,基本上APP的用户头像的处理都需要把用户所上传的方形图片,处理为圆形图片.在这里就总结三种常见的处理圆形图片的方法. 1.使用位图上下文 2.使用UIView的layer进行处理 3.使用r ...

  6. iOS 利用Context裁剪图片

    下面的代码可以裁剪出圆形的图片, 1,先把不规则图片转成正方形图片 UIGraphicsBeginImageContext(newSize); [image drawInRect:CGRectMake ...

  7. iOS 图片裁剪方法

    iOS 图片裁剪方法 通过 CGImage 或 CIImage 裁剪 UIImage有cgImage和ciImage属性,分别可以获得CGImage和CIImage对象.CGImage和CIImage ...

  8. iOS 图片裁剪 + 旋转

    iOS 图片裁剪 + 旋转 之前分别介绍了图片裁剪和图片旋转方法 <iOS 图片裁剪方法> 地址:http://www.cnblogs.com/silence-cnblogs/p/6490 ...

  9. iOS裁剪,缩放图片白边问题解决办法

    几年没来了,感觉还是要写点啥,以后碰见问题 解决就写这吧,当是一个随时的笔记也好. iOS裁剪,缩放图片的代码网上也很多了,但是笔者出现了右边和下边出现白边的情况.出现白边的原因是给的size中的CG ...

随机推荐

  1. 山东ACM省赛历届入口

    山东省第一届ACM大学生程序设计竞赛 山东省第二届ACM大学生程序设计竞赛 山东省第三届ACM大学生程序设计竞赛 山东省第四届ACM大学生程序设计竞赛 山东省第五届ACM大学生程序设计竞赛 山东省第六 ...

  2. 7. Reverse Words in a String

    题目: Given an input string, reverse the string word by word. For example,Given s = "the sky is b ...

  3. delphi控件属性和事件

    常用[属性]  Action:该属性是与组件关联的行为,允许应用程序集中响应用户命令  Anchors:与组件连接的窗体的位置点  Align:确定组件的对齐方式  AutoSize:确定组件是否自动 ...

  4. 调用jar程序,读取与jar同级的配置文件。

    System.getProperty("user.dir") + "\\Mysettings.properties";//该方法在Alimonitor里取不到绝 ...

  5. Linux操作系统学习笔记

    关于Linux详细介绍可以参见:http://blog.csdn.net/hguisu/article/details/6122513 关于Linux的常用命令可以参见:http://blog.csd ...

  6. JQuery的Ajax跨域请求原理概述及实例

    今天在项目中需要做远程数据加载并渲染页面,直到开发阶段才意识到ajax跨域请求的问题,隐约记得Jquery有提过一个ajax跨域请求的解决方式,于是即刻翻出Jquery的API出来研究,发 JQuer ...

  7. JS转义 escape()、encodeURI()、encodeURIComponent()区别详解

    JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decod ...

  8. Windows:文件服务器,访问进去不能查看到完整的文件

    文件服务器,访问进去不能查看到完整的文件:别人访问却可以查看到完整的所有文件 可能是登录的帐号串掉导致,删除文件服务器帐号,重新访问: cmd: net use /delete *

  9. easyui datagrid 跨页选择

    $.fn.extend( memberList ,{ quickSearch : function() { var time1 = new Date(); /* this.datagrid.datag ...

  10. 转:MVC单表多按钮提交

    有时候会遇到这种情况:在一个表单上需要多个按钮来完成不同的功能,比如一个简单的审批功能. 如果是用webform那不需要讨论,但asp.net mvc中一个表单只能提交到一个Action处理,相对比较 ...