使用Core Graphics绘制三角形

3

我一直在尝试使用Core Graphics绘制一个三角形。我已经找到了方法,但不确定是否是最好的方法。

我还无法弄清如何在UIView中居中它。

这是我的代码:

CGMutablePathRef path = CGPathCreateMutable();
CGPathMoveToPoint(path, NULL,10, 100);
CGPathAddLineToPoint(path, NULL,100,10);
CGPathAddLineToPoint(path, NULL,200,100);
CGPathAddLineToPoint(path, NULL,100,100);
CGPathCloseSubpath(path);

CGContextSetFillColorWithColor(context, white);
CGContextAddPath(context, path);
CGContextFillPath(context);
1个回答

1
要使您的三角形居中,您需要进行一些数学计算--实际上,三角形有几个“中心”,但其中一个是从每个顶点到相对线的中心画一条线,定义这些线交叉的地方为中心。这个中心很容易找到,只需平均x值和y值--因此,在您的情况下,您的顶点为(10,100),(100,10)和(200,100),中心将是(10+100+200/3,100+10+100/3)或(103.3,70)。iPhone的全屏幕宽度为320,高度为460,其中心位于(160,230)。因此,基本上,您需要将三角形中心与屏幕中心之间的差异添加到每个点--将160-103.3添加到每个x值,将230-70添加到每个y点,这将在屏幕中心绘制相同的三角形,但居中显示。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接