美文网首页
带圆环的图片

带圆环的图片

作者: 清风明月伴我行 | 来源:发表于2020-05-09 16:49 被阅读0次
Simulator Screen Shot - iPhone SE (2nd generation) - 2020-05-09 at 16.31.23.png
- (void)viewDidLoad
{
    [super viewDidLoad];
    [self cus_bezierPath];
}
#pragma mark - 方法一:bezierPath方法
-(void)cus_bezierPath{
    
    //获取图片
    UIImage* image = [UIImage imageNamed:@"me"];
    CGFloat imgWH = image.size.width;
    CGFloat border = 10;
    CGFloat bgWH = imgWH+border*2;
    CGSize bgSize = CGSizeMake(bgWH, bgWH);

    //开启图片类型的图形上下文
    UIGraphicsBeginImageContextWithOptions(bgSize, NO, 0);

    //画圆形路径
    UIBezierPath *bp = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, bgWH, bgWH)];
    //设置填充颜色
    [[UIColor yellowColor]set];
    //填充颜色
    [bp fill];

    //画icon
    UIBezierPath *imgBP = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(border, border, imgWH, imgWH)];
    //将其添加至裁剪区域
    
    [imgBP addClip];//默认使用非零环绕规则(‘usesEvenOddFillRule’属性用来设置使用‘非零环绕规则’还是‘奇偶规则’填充或裁剪)
    
    //图片画至context的裁剪区域中
    [image drawAtPoint:CGPointMake(border, border)];
    //从context取出图片
    UIImage *icon = UIGraphicsGetImageFromCurrentImageContext();
    self.imgv.image = icon;
    //关闭图片类型的图形上下文
    UIGraphicsEndImageContext();

}
#pragma mark - 方法二:context方法
-(void)cus_context{
    UIImage* image = [UIImage imageNamed:@"me"];
    CGFloat imgWH = image.size.width;
    CGFloat border = 10;
    CGFloat bgWH = imgWH+border*2;
    CGSize bgSize = CGSizeMake(bgWH, bgWH);
    
    UIGraphicsBeginImageContextWithOptions(bgSize, NO, 0);
    CGContextRef ref = UIGraphicsGetCurrentContext();
    
    CGFloat arcCenterX = bgWH/2;
    CGFloat arcRadius = imgWH/2 + border/2;
    CGContextAddArc(ref, arcCenterX, arcCenterX, arcRadius, 0, M_PI*2, 1);
    
    //设置路径宽度
    CGContextSetLineWidth(ref, border);
    //设置路径颜色
    CGContextSetStrokeColorWithColor(ref, [UIColor redColor].CGColor);
    //渲染
    CGContextStrokePath(ref);
    
    CGFloat arcImgRadius = imgWH/2;
    CGContextAddArc(ref, arcCenterX, arcCenterX, arcImgRadius, 0, M_PI*2, 1);
    
    //裁剪显示区域
    CGContextClip(ref);
    
    //画图
    [image drawAtPoint:CGPointMake(border, border)];
    UIImage *icon = UIGraphicsGetImageFromCurrentImageContext();
    self.imgv.image = icon;
    //关闭图片类型上下文
    UIGraphicsEndImageContext();
}

相关文章

  • 带圆环的图片

  • Glide自定义Transformation实现带外圆环的圆形图

    Case Glide想要实现加载带纯色外圆环的圆形图片。如下图1 实现思路 我们知道,通过使用PorterDuff...

  • 裁剪圆环图片

    裁剪圆环图片 app的头像很多都是圆形的,所以需要把一张普通的图片刻意裁剪成圆形// 核心代码void CGCon...

  • 【iOS】带端点的进度圆环

    效果如图: 根据项目需求,实现了以上效果的圆环;对于圆环,主要分三层:1.最底层灰色圆环;2.上层的进度圆环;3....

  • 目标.1

    搜索关于“目标”的图片,会有相当大比例找到靶子。圆环套圆环的样子谁都不陌生;往往中间的红心上还要插着一只箭。 真希...

  • 圆环图中间带线

    类似这种的1, 可以使用stroke 2, 可以在布局的时候 3, 可以搜索d3 drawing a line b...

  • 一道题的错误分析

    审题:已知两圆环,均匀带电,B、D为圆心,关于点C对称,带负电粒子从上方依次经过两圆环,考查做功与能量的变化情况。...

  • 仿简书带圆环头像(Objective-C剪裁处理)

    github源码地址 效果 代码思路 1.设置圆环的宽度 2.圆环宽度加上原图片的宽度设计上下文的宽高 3.画内切...

  • iOS_动画_实例(2)_进度条的实现+渐变进度条的实现

    一丶原理 先看下效果: 无渐变: 由2个圆环,一个背景灰色圆环+一个进度圆环; 1.圆环 CAShapeLayer...

  • Android 开源控件

    扩散圆 简介 扩散效果支持:圆形,圆环 扩散圆支持:正圆,椭圆 中心圆支持:图片,正圆,椭圆 属性列表 效果展示 ...

网友评论

      本文标题:带圆环的图片

      本文链接:https://www.haomeiwen.com/subject/yqnknhtx.html