使用CoreGraphics绘制凸形

时间:2009-12-20 21:20:07

标签: iphone objective-c cocoa-touch

我正在尝试创建一个带有凸斜边的直角三角形。

  1. 以正方形开头
  2. 沿对角线切掉一半,使剩下的是一个直角三角形。
  3. 向内弯曲斜边
  4. 如何使用CoreGraphics实现这一目标?我应该在矩形的一半上刻一个椭圆吗?

1 个答案:

答案 0 :(得分:2)

我对数学不是很好,也许有人可以详细说明切线数学。

这是一个自定义子视图绘制功能,用于绘制您要查找的内容。只需做几行,就用斜边作为斜边。

- (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);
}