问题描述
- 在定义好的path中修剪UIImage
-
在我的drawRect
有一个path:CGContextSetLineWidth(context, 1.5); CGContextSetStrokeColorWithColor(context, [UIColor whiteColor].CGColor); CGContextAddEllipseInRect(context, rect); CGContextStrokePath(context); CGContextClip(context); CGContextTranslateCTM(context, 0.0, rect.size.height); CGContextScaleCTM(context, 1.0, -1.0); CGContextDrawImage(context, rect, self.image_.CGImage); UIGraphicsBeginImageContext(rect.size); UIImage * circleUserProfile = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); [circleUserProfile drawAtPoint:CGPointMake(0, 0)]; CGContextRestoreGState(context);
有一个UIImage,我希望image能修剪成圆形,不知道怎么实现?
解决方案
当你调用UIGraphicsBeginImageContext
,就创建了新context。新的context就会占用上一个(就是你话画好的那个)位置,然后用没有内容的新context就会成为当前context,所以需要在调用UIGraphicsGetCurrentContext
之前开始图片context,然后进行绘画。
时间: 2024-12-03 12:29:07