ios圖片剪下

來源:互聯網
上載者:User

標籤:ref   void   etc   image   circle   get   bounds   ima   decode   

/*

- (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;}

 

 

 

ios圖片剪下

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.