我想創建一個凸三角形的直角三角形。CoreGraphics繪製一個凸形
- 開始用方形
- 切斷它的一半斜這樣剩下來的就是一個直角三角形。
- 曲線斜邊向內
我怎麼會用CoreGraphics在實現這一目標?我應該在矩形的一半上刻上一個橢圓嗎?
我想創建一個凸三角形的直角三角形。CoreGraphics繪製一個凸形
我怎麼會用CoreGraphics在實現這一目標?我應該在矩形的一半上刻上一個橢圓嗎?
我對數學不太好,也許有人可以詳細講解切線數學。
這是一個自定義的子視圖繪製功能,以繪製您的需求。簡單地做幾條線,在斜邊處使用弧線。
- (void)drawRect:(CGRect)dirtyRect {
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGContextMoveToPoint(ctx, 0, 50);
CGContextAddLineToPoint(ctx, 100, 50);
CGContextAddLineToPoint(ctx, 100, 0);
CGPoint tangent1 = CGPointMake(85, 25);
CGPoint tangent2 = CGPointMake(10, 50);
CGContextAddArcToPoint(ctx, tangent1.x, tangent1.y, tangent2.x, tangent2.y, 125);
CGFloat redComponents[4] = { 1., 0., 0., 1. };
CGContextSetFillColor(ctx, redComponents);
CGContextFillPath(ctx);
}
我注意到在XCode中也有技術可以創建貝塞爾曲線(appendBezier ...),這應該可以更好地控制斜視的形狀。 John Doner –
我相信你指的是NSBezierPath,這個API在iPhone上不可用。 –
CGContextAddCurveToPoint()確實存在於iPhone上,它可以讓你在這種情況下處理貝塞爾曲線。 –
圖片會說超過一千字。 –