清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
1 2 3 4 5 6 | @interface UIImage (Resize) //按形状切割图像 - (UIImage*)cutImageWithRadius:( int )radius; @end |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | //图片剪切 - (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; } |