iOS圖片設置圓角的三種方式

廢話不多說,直接上代碼


- (void)setCornerRadiusFirstMethod{

    self.imageView.image = [UIImageimageNamed:@"123.jpg"];

    self.imageView.layer.cornerRadius = self.imageView.frame.size.width / 2;

    self.imageView.layer.masksToBounds = YES;

}


- (void)setCornerRadiusSecondMethod{

    self.imageView.image = [UIImageimageNamed:@"123.jpg"];

    //開始對imageView進行畫圖

    UIGraphicsBeginImageContextWithOptions(self.imageView.bounds.size,NO, 1.0);

    //使用貝塞爾曲線畫出一個圓形圖

    [[UIBezierPathbezierPathWithRoundedRect:self.imageView.boundscornerRadius:self.imageView.frame.size.width]addClip];

    [self.imageViewdrawRect:self.imageView.bounds];

    

    self.imageView.image = UIGraphicsGetImageFromCurrentImageContext();

    //結束畫圖

    UIGraphicsEndImageContext();

}


- (void)setCornerRadiusThirdlyMethod{

    self.imageView.image = [UIImageimageNamed:@"123.jpg"];

    UIBezierPath* maskPath = [UIBezierPathbezierPathWithRoundedRect:self.imageView.boundsbyRoundingCorners:UIRectCornerAllCornerscornerRadii:self.imageView.bounds.size];

    CAShapeLayer* maskLayer = [[CAShapeLayeralloc]init];

    //設置大小

    maskLayer.frame =self.imageView.bounds;

    //設置圖形樣子

    maskLayer.path = maskPath.CGPath;

    self.imageView.layer.mask = maskLayer;

}


執行效率:

 NSDate* data1 = [NSDatedate];

    [selfsetCornerRadiusThirdlyMethod];

    double a = [[NSDatedate] timeIntervalSinceDate:data1];

    NSLog(@"%f",a);//0.010959

    

    NSDate* data2 = [NSDatedate];

    [selfsetCornerRadiusThirdlyMethod];

    double b = [[NSDatedate] timeIntervalSinceDate:data2];

    NSLog(@"%f",b);//0.000291

    

    

    NSDate* data3 = [NSDatedate];

    [selfsetCornerRadiusThirdlyMethod];

    double c = [[NSDatedate] timeIntervalSinceDate:data3];

    NSLog(@"%f",c);//0.000145




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章