Xcode裁剪图片
2016-05-09 16:50
309 查看
目标:裁剪一张圆形图片
步骤:
1. 加载要截取的图片
2. 设置圆形裁剪区域
2.1 创建圆形的路径
2.2 把路径设置为裁剪区域
3. 绘制图片
4. 从上下文中获取图片
5. 关闭上下文
代码:
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor colorWithWhite:0.819 alpha:1.000];
//0.加载要截取的图片
UIImage *image = [UIImage imageNamed:@"高圆圆"];
//1.获取(开启)图形上下文(该图形上下文是一个正方形)
UIGraphicsBeginImageContextWithOptions(CGSizeMake(image.size.width, image.size.width), NO, 0);
//2.设置圆形裁剪区域,正切于图片
//2.1创建圆形的路径
UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0, 0, image.size.width, image.size.width) cornerRadius:image.size.width/2];
//2.2把路径设置为裁剪区域
[path addClip];
//3.绘制图片
[image drawAtPoint:CGPointZero];
//4.从上下文中获取图片
UIImage *clipedImage = UIGraphicsGetImageFromCurrentImageContext();
//5.关闭上下文
UIGraphicsEndImageContext();
self.imageView.image = clipedImage;
}原图:
裁剪后如下图:
步骤:
1. 加载要截取的图片
2. 设置圆形裁剪区域
2.1 创建圆形的路径
2.2 把路径设置为裁剪区域
3. 绘制图片
4. 从上下文中获取图片
5. 关闭上下文
代码:
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor colorWithWhite:0.819 alpha:1.000];
//0.加载要截取的图片
UIImage *image = [UIImage imageNamed:@"高圆圆"];
//1.获取(开启)图形上下文(该图形上下文是一个正方形)
UIGraphicsBeginImageContextWithOptions(CGSizeMake(image.size.width, image.size.width), NO, 0);
//2.设置圆形裁剪区域,正切于图片
//2.1创建圆形的路径
UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0, 0, image.size.width, image.size.width) cornerRadius:image.size.width/2];
//2.2把路径设置为裁剪区域
[path addClip];
//3.绘制图片
[image drawAtPoint:CGPointZero];
//4.从上下文中获取图片
UIImage *clipedImage = UIGraphicsGetImageFromCurrentImageContext();
//5.关闭上下文
UIGraphicsEndImageContext();
self.imageView.image = clipedImage;
}原图:
裁剪后如下图:
相关文章推荐
- HTTP状态码:400\500 错误代码
- centOS6.6系统中rpm安装 MySQL-5.6.30
- Zigbee之旅(三):几个重要的CC2430基础实验——外部中断
- 蓝桥杯 奇怪的分式
- D - Fliptile——POJ
- 判断链表是否有环及入口点
- java web 开发中 eclipse 或myeclipse无法解析导入 javax.servlet 的解决方法
- QT源代码阅读
- [C++]高精度 bign (重载运算符版本)
- HDU 1086 You can Solve a Geometry Problem too(水题)
- linux基础之shell编程(3)-给脚本设置参数
- 重用
- JDBC学习笔记(8)——数据库连接池(dbcp&C3P0)
- leetcode---SortList
- POJ 3026 Borg Maze【BFS+最小生成树MST】
- 怎么在项目中使用前端包管理器bower和构建工具gulp
- IOS中sqlite数据库利用bold类型存储与读取字典
- 多传感器数据融合算法---9轴惯性传感器
- android---极光推送初步了解
- 线性表的合并