使用CGPathRef遮罩CGContext?

8

我正在使用CGContext进行一些绘图操作。目前我正在使用一个png文件作为遮罩来执行绘图操作,如下所示:

UIImage * myImage = [UIImage imageNamed:@"frame.png"];
CGContextRef context = UIGraphicsGetCurrentContext ();
CGContextClipToMask(context, self.view.bounds, myImage.CGImage);

这个可以正常工作,但现在我想使用一个已有的CGPathRef作为我的掩模。 我应该考虑将CGPathRef转换为UIImage并像上面一样进行掩模吗? 如果是这样,我该如何进行转换? -或者- 有更好的方法来处理这个问题吗?

1个回答

12
CGContextAddPath(context, yourPath);
CGContextClip(context);

1
这对于矩形和椭圆非常有效。但是如果路径是通过addArcWithCenter:radius:...创建的,并且当我只需要保留一像素线时,它对我没有用。 - Sergey Kopanev
如果我们不想让它被剪裁,该怎么办?例如,如果我们想在图像上掩盖自定义路径而不将其裁剪到路径的边界?@cxa - Reza.Ab

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接