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

/**

*  在圆形外面加一个圆环

*/

- (void)yuanHuan{

//0.加载图片

UIImage *image = [UIImage imageNamed:@"AppIcon1024"];

//图片的宽度

CGFloat imageWH = image.size.width;

//设置圆环的宽度

CGFloat border = 1;

//大圆形的宽度高度

CGFloat ovalWH = imageWH + 2 * border;

//1、开启位图上下文

UIGraphicsBeginImageContextWithOptions(CGSizeMake(ovalWH, ovalWH), NO, 0);

//2、画大圆

UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, 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, 0);

//2.设置图形裁剪区域,正切图片

//2.1创建一个圆形路径

UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, image.size.width, image.size.width)];

//2.2把路径设置裁剪区

[path addClip];

//3.绘制图片

[image drawAtPoint:CGPointMake(0, 0)];

//4.从上下文中获取图片

UIImage *clipImage = UIGraphicsGetImageFromCurrentImageContext();

//5.关闭上下文

UIGraphicsEndImageContext();

_imageView.image = clipImage;

}

时间: 2024-10-05 03:15:08

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

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

废话不多说,直接上代码 #import "ViewController.h" @interface ViewController () @property (nonatomic,strong)UIImageView *imageView; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; self.imageView = [[UIImageView alloc] initWith

iOS之带有边框的圆形图片裁剪

我们经常需要把一些不是圆形的图片剪切成圆形后来使用,比如QQ头像,微博头像等都是圆形,那么问题来了,该怎么把一张不是圆形的图片剪切成圆形呢? 下面就是其中一种可以实现这种需求的方法: 具体实现思路: 1.假设边框宽度为BorderW 2.开启的图片上下文的尺寸就应该是原始图片的宽高分别加上两倍的BorderW,这样开启的目的是为了不让原始图片变形. 3.在上下文上面添加一个圆形填充路径.位置从0,0点开始,宽高和上下文尺寸一样大.设置颜色为要设置的边框颜色. 4.继续在上下文上面添加一个圆形路径

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

在ios中将一个正方形的图片裁剪成圆形的图片是一件非常容易的事情, 直接设置 imageView.layer.cornerRadius 这个属性, 再设置 imageView.clipsToBounds = YES 就可以了, 但是对于长方形的图片来说这个方式裁剪出来的就不是一个圆形的了, 而是个椭圆的. 解决这个问题就需要自己画 并且需要计算. 最终效果图如下: tips: 如果是裁剪矩形的话, 是从图片中心的位置为圆心剪裁的. 代码如下: @implementation UIImage (C

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

扯淡: 目前关于rn比较知名并且封装好的图片选择控件很多,不过能同时支持多图片上传,个数控制兼容iOS/Ad的却寥寥无几,而今天介绍的这款框架可以实现:图片裁剪.最大图片个数限制.拍照.本地相册等功能. 效果:        使用简介: 原理:react-native-syan-image-picker多图片选择器: Android 基于 PictureSelector 2.0 iOS 基于 TZImagePickerController 1.9.0 iOS/android配置:具体步骤参考:h

10-简单圆形图片裁剪

*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } a { color: #4183C4; } a.absent { color: #cc0000; } a.anchor { display: block; padding-left: 30px; margin-left: -30px; cursor: pointer; position: absolute

iOS开发>学无止境 - Cell异步图片加载优化,缓存机制详解

作者:勤奋的笨老头 网址:http://www.jianshu.com/p/02ab2b74c451 最近研究了一下UITbleView中异步加载网络图片的问题,iOS应用经常会看到这种界面.一个tableView上显示一些标题.详情等内容,在加上一张图片.这里说一下这种思路. 为了防止图片多次下载,我们需要对图片做缓存,缓存分为内存缓存于沙盒缓存,我们当然两种都要实现. 由于tableViewCell是有重用机制的,也就是说,内存中只有当前可见的cell数目的实例,滑动的时候,新显示cell会

IOS 按比例裁剪图片

拍照或者从图片库中获取图片 操作过程中容易闪退,也总会有内存压力警告,第一步,首先可以考虑裁剪图片,实际上可能不需要那么大的.其次可以考虑把耗时的比如存储过程放进线程. 这里封装裁剪图片的类方法. //NavView.m #define IMAGE_MAX_SIZE_WIDTH 640 #define IMAGE_MAX_SIZE_GEIGHT 1136 +(UIImage *)fitSmallImage:(UIImage *)image { if (nil == image) { return

ios 图片裁剪

/** *  图片裁剪 裁剪原理: 先在控制器上确定一个区域,然后再把要把需要裁剪的图片该区域上面,超出区域的图片都不显示 * *  @param rect */-(void) drawRect:(CGRect)rect{    CGContextRef ref = UIGraphicsGetCurrentContext();        // 首先画圆    CGContextAddEllipseInRect(ref, CGRectMake(100, 100, 100, 100));    

iOS UIImage 图片水印,图片裁剪,屏幕截图,背景平铺

图片水印功能 1 #import "UIImage+ZR.h" 2 3 @implementation UIImage (ZR) 4 + (instancetype)waterImageWithBg:(NSString *)bg logo:(NSString *)logo 5 { 6 UIImage *bgImage = [UIImage imageNamed:bg]; 7 8 // 1.创建一个基于位图的上下文(开启一个基于位图的上下文) 9 UIGraphicsBeginImage