2

可能重复:
在 CGMutablePath 内绘制 UIImage

我的 drawRect 中有一条如下所示的路径:

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,我想让 UIImage 夹在这个圆圈内。上面的代码似乎在做我之前在这里问过的事情,但仍然不起作用。为什么是这样?

4

1 回答 1

1

当你调用 时UIGraphicsBeginImageContext,你正在创建一个新的上下文,推送你以前的上下文(你完成了所有的绘图),并使新的(空的)上下文成为当前上下文。UIGraphicsGetCurrentContext您需要在调用和执行绘图之前开始您的图像上下文。

于 2013-01-16T21:44:21.590 回答