@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; 
}
发布评论

分享到:

IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

iOS通过Http 上传图片详解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。