Iphone 如何设置剪切矩形或区域

Iphone 如何设置剪切矩形或区域,iphone,ios,core-graphics,Iphone,Ios,Core Graphics,如何设置、修改和清除iOS drawRect中的剪切矩形,以便将线、文本、图像等的通用CG图形剪切到视图的一小部分 是否可以使用由一组矩形和圆组成的更复杂的剪裁区域?您可以使用任意路径设置剪裁区域,而不限于矩形。以下是一些方法: 可以绘制任意路径并使用它设置剪裁区域。例如: CGContextBeginPath(context); //draw a path here CGContextClosePath(context); CGContextClip(context); //following

如何设置、修改和清除iOS drawRect中的剪切矩形,以便将线、文本、图像等的通用CG图形剪切到视图的一小部分


是否可以使用由一组矩形和圆组成的更复杂的剪裁区域?

您可以使用任意路径设置剪裁区域,而不限于矩形。以下是一些方法:

  • 可以绘制任意路径并使用它设置剪裁区域。例如:

    CGContextBeginPath(context);
    //draw a path here
    CGContextClosePath(context);
    CGContextClip(context);
    //following drawing on the context will be clipped
    
  • 如果要使用遮罩图像设置剪裁区域,请使用CGContextClipToMask方法


  • 有关更多用法,请参阅苹果的“QuartzDemo”示例项目。

    如果您只想剪辑到矩形,可以使用:

    CGContextClipToRect(context, clipRect);
    

    在许多情况下,您希望在完成后恢复旧剪辑区域。从CGContextSaveGState(上下文)开始;。完成所有剪裁图形后,使用CGContextRestoreGState(上下文);。