2011-03-27 103 views
2

如何在iOS drawRect中設置,修改和清除剪裁矩形,以將線條,文本,圖像等的通用CG繪圖剪裁到視圖的一小部分?如何設置剪裁矩形或區域

是否可以使用一個更復雜的剪輯區域,它是一組矩形和圓圈的組合?

回答

4

您可以使用任意路徑設置裁剪區域,而不限於矩形。以下是一些方法:

  1. 您可以繪製任意路徑並使用它設置一個裁剪區域。例如:

    CGContextBeginPath(context); 
    //draw a path here 
    CGContextClosePath(context); 
    CGContextClip(context); 
    //following drawing on the context will be clipped 
    
  2. 如果要使用口罩圖像設置裁剪區域,使用CGContextClipToMask方法。

有關更多用途,請參閱Apple的'QuartzDemo'示例項目。

+1

在許多情況下,要恢復舊的剪輯區域,當你完成。從CGContextSaveGState(context)開始;一旦所有的剪貼畫完成,使用CGContextRestoreGState(context);. – Mike 2016-05-12 23:38:17

2

如果你只是想夾到一個矩形,你可以使用:

CGContextClipToRect(context, clipRect);