我的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夹在这个圈子里面。上面的代码似乎是在我here之前做的,但仍然无效。这是为什么?
答案 0 :(得分:1)
当您致电UIGraphicsBeginImageContext
时,您正在创建一个新的上下文,推送您的上一个上下文(您完成所有绘图),并将新(空)一个作为当前上下文。您需要在调用UIGraphicsGetCurrentContext
并执行绘图之前开始图像上下文。