如何在iOS drawRect中设置,修改和清除剪裁矩形,以将线条,文本,图像等的通用CG绘图剪裁到视图的一小部分?如何设置剪裁矩形或区域
是否可以使用一个更复杂的剪辑区域,它是一组矩形和圆圈的组合?
如何在iOS drawRect中设置,修改和清除剪裁矩形,以将线条,文本,图像等的通用CG绘图剪裁到视图的一小部分?如何设置剪裁矩形或区域
是否可以使用一个更复杂的剪辑区域,它是一组矩形和圆圈的组合?
您可以使用任意路径设置裁剪区域,而不限于矩形。以下是一些方法:
您可以绘制任意路径并使用它设置一个裁剪区域。例如:
CGContextBeginPath(context);
//draw a path here
CGContextClosePath(context);
CGContextClip(context);
//following drawing on the context will be clipped
如果要使用口罩图像设置裁剪区域,使用CGContextClipToMask方法。
有关更多用途,请参阅Apple的'QuartzDemo'示例项目。
如果你只是想夹到一个矩形,你可以使用:
CGContextClipToRect(context, clipRect);
在许多情况下,要恢复旧的剪辑区域,当你完成。从CGContextSaveGState(context)开始;一旦所有的剪贴画完成,使用CGContextRestoreGState(context);. – Mike 2016-05-12 23:38:17