Xcode 图片裁剪
步骤:
0.加载原生图片;
1.获取上下文;
2.绘制原生图片;
3.给原生图片添加文字;
4.获取绘制后的图片;
5.关闭上下文
代码:
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
//1.加载原生图片
UIImage *image = [UIImage imageNamed:@"高圆圆"];
//2.获取(开启)一个位图上下文,位图上下文与view无关联,所以不需要在drawRect方法中获取
// size:位图上下文的尺寸(新图片的尺寸)
// opaque: 不透明度 YES:不透明 NO:透明,通常我们一般都弄透明的上下文
// scale:通常不需要缩放上下文,取值为0,表示不缩放
UIGraphicsBeginImageContextWithOptions(image.size, NO, 0);
//3.绘制原生图片
[image drawAtPoint:CGPointZero];
NSString *name = @"赵又廷loves高圆圆";
//4.给原生图片添加文字,并且给文字添加相应的属性,例如颜色大小等
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
dict[NSForegroundColorAttributeName] = [UIColor yellowColor];
dict[NSFontAttributeName] = [UIFont systemFontOfSize:14];
[name drawAtPoint:CGPointMake(120, 200) withAttributes: dict];
//5.获取会之后的图片
UIImage *waterMrk = UIGraphicsGetImageFromCurrentImageContext();
self.imageView.image = waterMrk;
//6.关闭上下文
UIGraphicsEndImageContext();
}
原图:
绘制后水印如下图:
目标:裁剪一张圆形图片
步骤:
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. 开启上下文
3. 画大圆并填充路径
4. 设置裁剪区域
5. 绘制图形
6. 获取图片
7. 关闭上下文
代码:
Xcode裁剪图片并添加圆环
步骤:
1. 加载原生图片
2. 开启上下文
3. 画大圆并填充路径
4. 设置裁剪区域
5. 绘制图形
6. 获取图片
7. 关闭上下文
代码:
步骤:
1. 加载原生图片
2. 开启上下文
3. 画大圆并填充路径
4. 设置裁剪区域
5. 绘制图形
6. 获取图片
7. 关闭上下文
代码:
- (void)viewDidLoad {
[super viewDidLoad];
//1.加载原生图片
UIImage *image = [UIImage imageNamed:@"高圆圆"];
//self.imageView.image = image;
//图片的宽度和高度
CGFloat imageWH = image.size.width;
//边界宽度
CGFloat border = 1.5;
//圆环的高度和宽度
CGFloat ovalWH = imageWH + 2 * border;
//2.开启上下文
UIGraphicsBeginImageContextWithOptions(CGSizeMake(ovalWH, ovalWH), NO, 0);
//3.画大圆
UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, ovalWH, ovalWH)];
[[UIColor colorWithRed:1.000 green:0.138 blue:0.046 alpha:1.000] set];
[path fill];
//4.设置裁剪区域
UIBezierPath *clipedPath = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(border, border, imageWH, imageWH)];
[clipedPath addClip];
//5.绘制图形
[image drawAtPoint:CGPointMake(border, border)];
//6.获取图片
UIImage *clipedImage = UIGraphicsGetImageFromCurrentImageContext();
//7.关闭上下文
UIGraphicsEndImageContext();
self.imageView.image = clipedImage;
}
步骤:
1. 加载原生图片
2. 开启上下文
3. 画大圆并填充路径
4. 设置裁剪区域
5. 绘制图形
6. 获取图片
7. 关闭上下文
代码:
裁剪后的图形:
步骤:
1. 加载原生图片
2. 开启上下文
3. 画大圆并填充路径
4. 设置裁剪区域
5. 绘制图形
6. 获取图片
7. 关闭上下文
代码:
Xcode 图片裁剪相关推荐
- ipad html 自定义裁剪图片大小,移动端图片裁剪上传插件 Mavatar.js(原创)
插件描述:移动端头像上传,支撑头像预览和放大缩小平移,内置上传至后端请求方法. 注:请在移动端用手势查看缩放效果,PC端无法缩放 Mavatar 移动端头像上传,支撑头像预览和放大缩小平移,内置上传至 ...
- jquery 图片裁剪 java_[Java教程]5 款最新的 jQuery 图片裁剪插件
[Java教程]5 款最新的 jQuery 图片裁剪插件 0 2015-05-18 16:00:20 这篇文章主要介绍最新的 5 款 jQuery 图片裁剪插件,可以帮助你轻松的实现你网站需要的图像裁 ...
- android 壁纸 裁剪,Android图片裁剪之自由裁剪
客户的需求都是非常怪的.我有时候在给客户做项目的时候就想骂客户是sb.可是请你相信我,等你有需求,自己变成客户的时候,给你做项目的哥哥肯定也会骂你是sb. 是这种,客户须要做一个图片上传的功能,这个图 ...
- PHP图片裁剪_图片缩放_PHP生成缩略图
2019独角兽企业重金招聘Python工程师标准>>> 在制作网页过程中,为了排版整齐美观,对网页中的图片处理成固定大小尺寸的图片,或是要截去图片边角中含有水印的图片,对于图片量多, ...
- ios 将矩形图片裁剪成圆形图片
在ios中将一个正方形的图片裁剪成圆形的图片是一件非常容易的事情, 直接设置 imageView.layer.cornerRadius 这个属性, 再设置 imageView.clipsToBound ...
- 模拟系统照相机图片裁剪的功能
模拟系统照相机图片裁剪的功能 效果如下: 源码: // // RootViewController.m // ScrollView // // Copyright (c) 2014年 Y.X. All ...
- PHP实现将任意尺寸的图片裁剪后等比缩放到任意尺寸的透明图片上,并实现图片翻转...
类库地址 github.com/jinqiubj/Pi- 此类库满足以下需求 将任意尺寸的图片等比缩放到任意尺寸的透明图片上,如图1是一张200*200的正方形图片. 在等比缩放的同时,此类库可根据图 ...
- Java实现图片裁剪预览功能
Java实现图片裁剪预览功能 在项目中,我们需要做些类似头像上传,图片裁剪的功能,ok看下面文章! 需要插件:jQuery Jcrop 后端代码: package org.csg.upload;imp ...
- 图片裁剪的js有哪些(整理)
图片裁剪的js有哪些(整理) 一.总结 一句话总结:如果用了amaze框架就去amaze框架的插件库里面找图片裁剪插件,如果没用,jcrop和cropper都不错. 1.amazeui的插件库中有很多 ...
最新文章
- python进程间通信 listener_python进程间通信之Queue
- 我的软件工程之路(二)
- 线程库 c语言实现,130行C语言实现个用户态线程库——后续(一)
- MongoDB导出-导入-迁移
- 再也回不去的 GitHub。。。
- 重构Webpack系列之一 ---- 概念篇
- iOS开发 在图片上添加文字,图片合成文字,图片上添加富文本,美图秀秀,美颜相机文字编辑
- Javaweb面试题及答案
- 微信防撤回是怎么实现的?
- Table表格边框线、样式
- Failed to execute ‘btoa‘ on ‘Window‘: The string to be encoded contains characters outside of the La
- 应用程序无法正常启动(0x000007b)的不常见的解决过程
- 前后坐人书柜书桌的标准做法
- 调查计算机对运算能力的影响,计算器对运算能力的影响的报告.docx
- 计算机词汇店名,电脑店名字200例
- Premier Bob的算法模板库(II)
- CardView的详细使用
- 今年的奥运会延期至2021年夏季举行,盘点一下历届奥运会数据
- HTML中的图片如何自适应屏幕?这篇文章有图片的自适应用法介绍
- bash输出颜色字体
热门文章
- Excel 2021 for Mac 中的新增功能
- Java计划任务(任务调度),定时器,定时安排任务,如定时发送Excel表格到用户邮箱(quartz+poi+javax.mail)
- 网络性能测试 - MiniSMB网络性能测试仪表 工控机免费版 如何配置VLAN数据流
- STM32Fatfs遍历文件(C语言实现)
- conda list 与 pip list 命令的区别
- 用python写一个抽号
- MFC 将CDC绘图保存为bmp图片
- 字符 字符集 编码 以及乱码
- C语言课程设计(房屋管理系统)
- Milvus 实战|基于 Milvus 的图文检索系统