• ios图片剪切


    /*

    - (id)initWithCoder:(NSCoder *)aDecoder

    {

        if (self = [super initWithCoder:aDecoder]) {

            // 设置图片的主图层圆角

            self.iconView.layer.cornerRadius = 8;

            // 设置超出主图层的部分剪切

    //        self.iconView.clipsToBounds = YES;

            self.iconView.layer.masksToBounds = YES;

            NSLog(@"initWithCoder");

        }

        return self;

    }

     */

     

     

    - (void)awakeFromNib

    {

        // 设置图片的主图层圆角

        self.iconView.layer.cornerRadius = 8;

        // 设置超出主图层的部分剪切

        self.iconView.clipsToBounds = YES;

     

    }

     

    #import "UIImage+DY.h"
    
    @implementation UIImage (DY)
    
    + (instancetype)circleImageWithName:(NSString *)name borderWidth:(CGFloat)borderWidth borderColor:(UIColor *)borderColor
    {
        // 1.加载原图
        UIImage *oldImage = [UIImage imageNamed:name];
        
        // 2.开启上下文
        CGFloat imageW = oldImage.size.width + 2 * borderWidth;
        CGFloat imageH = oldImage.size.height + 2 * borderWidth;
        CGSize imageSize = CGSizeMake(imageW, imageH);
        UIGraphicsBeginImageContextWithOptions(imageSize, NO, 0.0);
        
        // 3.取得当前的上下文
        CGContextRef ctx = UIGraphicsGetCurrentContext();
        
        // 4.画边框(大圆)
        [borderColor set];
        CGFloat bigRadius = imageW * 0.5; // 大圆半径
        CGFloat centerX = bigRadius; // 圆心
        CGFloat centerY = bigRadius;
        CGContextAddArc(ctx, centerX, centerY, bigRadius, 0, M_PI * 2, 0);
        CGContextFillPath(ctx); // 画圆
        
        // 5.小圆
        CGFloat smallRadius = bigRadius - borderWidth;
        CGContextAddArc(ctx, centerX, centerY, smallRadius, 0, M_PI * 2, 0);
        // 裁剪(后面画的东西才会受裁剪的影响)
        CGContextClip(ctx);
        
        // 6.画图
        [oldImage drawInRect:CGRectMake(borderWidth, borderWidth, oldImage.size.width, oldImage.size.height)];
        
        // 7.取图
        UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
        
        // 8.结束上下文
        UIGraphicsEndImageContext();
        
        return newImage;
    }
    

     

     

  • 相关阅读:
    转:裸接口防护,避免恶意盗刷和爬取
    oracle = : := 和变量绑定 oracle通配符和运算符
    169.254地址无网关信息 ----- 解决方案 启动DHCP服务
    NAS DAS SAN 磁带机 tco
    linux 权限详解
    转载:哈希加密算法 MD5,SHA-1,SHA-2,SHA-256,SHA-512,SHA-3,RIPEMD-160
    MD5,SHA1 都是哈希 摘要算法 MD5+SALT BCRYPT
    iOS开发JSON字符串和字典互转
    iOS开发线程之NSThread
    iOS开发NSMutableArray数组越界处理
  • 原文地址:https://www.cnblogs.com/seeworld/p/6098668.html
Copyright © 2020-2023  润新知