1
的我畫橢圓:iPhone如何半夾橢圓
CGContextFillEllipseInRect(contextRef, CGRectMake(50, 50, 50, 128));
但我只需要橢圓形的一半,是有辦法夾的另一半?
的我畫橢圓:iPhone如何半夾橢圓
CGContextFillEllipseInRect(contextRef, CGRectMake(50, 50, 50, 128));
但我只需要橢圓形的一半,是有辦法夾的另一半?
在調用繪圖方法,你可以剪輯的背景下,以橢圓的一部分:那解決我的問題的一半
CGContextSaveGState(contextRef);
BOOL onlyDrawTopHalf = YES;
CGFloat halfMultiplier = onlyDrawTopHalf ? -1.0 : 1.0;
CGRect ellipse = CGRectMake(50, 50, 50, 128);
CGRect clipRect = CGRectOffset(ellipse, 0, halfMultiplier * ellipse.size.height/2);
CGContextClipToRect(contextRef, clipRect);
CGContextFillEllipseInRect(contextRef, ellipse);
// restore the context: removes the clipping
CGContextRestoreGState(contextRef);
。現在另一方面,我想也有半橢圓(與第一個橢圓不同),但再次使用您的代碼並不會起作用,新的橢圓從不顯示。我只是將BOOL更改爲NO,以及橢圓的一些參數。 – MegaManX
你用NO運行代碼時看到了什麼? – FelixLam
我已經更新了代碼。它現在在繪製後恢復上下文的狀態。這有幫助嗎? – FelixLam