IOS 图片剪切(封装数据)
封装 :生成头像(UIImage (NJ).h / .m
@interface UIImage (NJ)
/**
* 生成头像
*
* @param icon 头像图片名称
* @param border 头像边框大小
* @param color 头像边框的颜色
*
* @return 生成好的头像
*/
+ (instancetype)imageWithIcon:(NSString *)icon border:(NSInteger)border color:(UIColor *)color;
@end
@implementation UIImage (NJ) + (instancetype)imageWithIcon:(NSString *)icon border:(NSInteger)border color:(UIColor *)color
{
// 0. 加载原有图片
UIImage *image = [UIImage imageNamed:icon]; // 1.创建图片上下文
CGFloat margin = border;
CGSize size = CGSizeMake(image.size.width + margin, image.size.height + margin); // YES 不透明 NO 透明
UIGraphicsBeginImageContextWithOptions(size, NO, );
// 2.绘制大圆
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGContextAddEllipseInRect(ctx, CGRectMake(, , size.width, size.height));
[color set];
CGContextFillPath(ctx); // 3.绘制小圆
CGFloat smallX = margin * 0.5;
CGFloat smallY = margin * 0.5;
CGFloat smallW = image.size.width;
CGFloat smallH = image.size.height;
CGContextAddEllipseInRect(ctx, CGRectMake(smallX, smallY, smallW, smallH));
// [[UIColor greenColor] set];
// CGContextFillPath(ctx);
// 4.指点可用范围, 可用范围的适用范围是在指定之后,也就说在在指定剪切的范围之前绘制的东西不受影响
CGContextClip(ctx); // 5.绘图图片
[image drawInRect:CGRectMake(smallX, smallY, smallW, smallH)]; // 6.取出图片
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); return newImage; }
调用
@property (weak, nonatomic) IBOutlet UIImageView *iv; @end @implementation NJViewController - (void)viewDidLoad
{
[super viewDidLoad]; UIImage *newImage = [UIImage imageWithIcon:@"me" border: color:[UIColor greenColor]];
self.iv.image = newImage; }
IOS 图片剪切(封装数据)的更多相关文章
- iOS 图片剪切和压缩的几个方法
// 图片剪切 - (UIImage*)clipImageWithImage:(UIImage*)image inRect:(CGRect)rect { CGImageRef imageRef ...
- ios图片剪切
#import "ViewController.h" @interface ViewController ()@property (weak, nonatomic) IBOutle ...
- iOS开发UI篇—Quartz2D使用(图片剪切)
iOS开发UI篇—Quartz2D使用(图片剪切) 一.使用Quartz2D完成图片剪切 1.把图片显示在自定义的view中 先把图片绘制到view上.按照原始大小,把图片绘制到一个点上. 代码: - ...
- 【iOS】Quartz2D图片剪切
一.使用Quartz2D完成图片剪切1.把图片显示在自定义的view中 先把图片绘制到view上.按照原始大小,把图片绘制到一个点上. 代码: - (void)drawRect:(CGRect)rec ...
- iOS | Swift图片剪切圆角
我们在IOS开发中,时常需要将一些原本是方形的图片剪切成圆形或者边框是曲线的样子,表现得活泼生动一些. 注意:因为最近在尝试用Swiftl开发,所以这里的语言使用的就是Swift,OC的语法也是相近的 ...
- 在iOS开发的Quartz2D使用中实现图片剪切和截屏功能
原文 http://www.jb51.net/article/75671.htm 图片剪切一.使用Quartz2D完成图片剪切1.把图片显示在自定义的view中先把图片绘制到view上.按照原始大小 ...
- ios UIImage 圆形图片剪切方案
@interface UIImage (Resize) //按形状切割图像 - (UIImage*)cutImageWithRadius:(int)radius; @end //图片剪切 - (UII ...
- AJ学IOS(32)UI之Quartz2D矩阵操作和图片剪切
AJ分享,必须精品 矩阵操作 矩阵操作:(旋转,缩放,平移) 通过矩阵操作,把画出来的东西进行形变 旋转操作 方法:CGContextRotateCTM(<#CGContextRef c#> ...
- iOS图片加载框架-SDWebImage解读
在iOS的图片加载框架中,SDWebImage可谓是占据大半壁江山.它支持从网络中下载且缓存图片,并设置图片到对应的UIImageView控件或者UIButton控件.在项目中使用SDWebImage ...
随机推荐
- Java实例练习——java实现自动生成长度为10以内的随机字符串(可用于生成随机密码)
package sorttest; import java.util.ArrayList; import java.util.Collections; import java.util.List; i ...
- 清北刷题冲刺 11-01 a.m
立方体 /* 输入数据中的p的位置是没有用的,而题目本质上是求C(n,k) */ #include<iostream> #include<cstdio> #define mod ...
- Python Day22
Django之Form组件 Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 1.创建Form类 ...
- EcmaScript学习
1.eval: ts: declare function eval(x: string): any; js: /** @param {*} x @return {Object} */ eval = f ...
- 牛客假日团队赛1 G.Superbull
链接: https://ac.nowcoder.com/acm/contest/918/G 题意: Bessie and her friends are playing hoofball in the ...
- DateAdapterForDay
public class DateAdapterForDay extends XmlAdapter<String, Date> { private SimpleDateFormat dat ...
- 使用fastcgi_cache加速你的Nginx网站
很久以前在TW上挖了个坑,说nginx的fastcgi_cache是被大家忽视的一大金矿,今天把这个坑填上. 对于变化不太频繁的数据,大家都比较喜欢存Memcached以减少数据库的读取,但还是会有语 ...
- SpringMVC之用注解控制器(一)
在传统的Spring MVC开发方法中,必须在Bean配置文件中为每个控制器类配置实例和请求映射和让每个控制器类去实现或者扩展特定于框架的接口或者基类,不够灵活. 如果Spring MVC可以自动侦测 ...
- elasticsearch报错:None of the configured nodes are available: []
问题:在内网测试的时候可以正常访问,但是部署到外网上客户端连接elasticsearch报错:None of the configured nodes are available: [] 原因:默认情 ...
- [Coding Style] CSS coding style
CSS coding style Note 结合实际工作中的规范和推荐大家使用的CSS书写规范.顺序这篇文章整合而成 Navigation CSS 书写顺序 CSS 常用文件命名 CSS 常用命名规范 ...