@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/tech/app/5181.html