iOS UIImage 圆形图片剪切方案详解手机开发

@interface UIImage (Resize) 
  
//按形状切割图像 
- (UIImage*)cutImageWithRadius:(int)radius; 
  
@end
//图片剪切 
- (UIImage*)cutImageWithRadius:(int)radius 
{ 
    UIGraphicsBeginImageContext(self.size); 
    CGContextRef gc = UIGraphicsGetCurrentContext(); 
     
    float x1 = 0.; 
    float y1 = 0.; 
    float x2 = x1+self.size.width; 
    float y2 = y1; 
    float x3 = x2; 
    float y3 = y1+self.size.height; 
    float x4 = x1; 
    float y4 = y3; 
    radius = radius*2; 
     
    CGContextMoveToPoint(gc, x1, y1+radius); 
    CGContextAddArcToPoint(gc, x1, y1, x1+radius, y1, radius); 
    CGContextAddArcToPoint(gc, x2, y2, x2, y2+radius, radius); 
    CGContextAddArcToPoint(gc, x3, y3, x3-radius, y3, radius); 
    CGContextAddArcToPoint(gc, x4, y4, x4, y4-radius, radius); 
     
  
    CGContextClosePath(gc); 
    CGContextClip(gc); 
     
    CGContextTranslateCTM(gc, 0, self.size.height); 
    CGContextScaleCTM(gc, 1, -1); 
    CGContextDrawImage(gc, CGRectMake(0, 0, self.size.width, self.size.height), self.CGImage); 
     
     
     
    UIImage *newimage = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 
     
    return newimage; 
}

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/5181.html

(0)
上一篇 2021年7月16日
下一篇 2021年7月16日

相关推荐

发表回复

登录后才能评论