如何使用QUARTZ 2D绘制三角形?

时间:2011-07-01 08:37:49

标签: iphone cocoa-touch iphone-sdk-3.0 quartz-graphics quartz-2d

我正在使用3.1.3 SDK开发iPhone应用程序。

我正在尝试使用以下代码绘制一个透明填充1px黑色笔划的三角形:

CGContextMoveToPoint(ctx, position.X, position.Y - (size.height / 2));
CGContextAddLineToPoint(ctx, position.X - (size.width / 2), position.Y + (size.height / 2));
CGContextAddLineToPoint(ctx, position.X + (size.width / 2), position.Y + (size.height / 2));
CGContextFillPath(ctx);
CGContextSetLineWidth(ctx, 1.0);
CGContextStrokePath(ctx);
CGContextSetFillColorWithColor(ctx, [[UIColor clearColor] CGColor]);

但我得到一个黑色的三角形。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

如果你想绘制一个透明填充的路径 - 那么你不需要填充它 - 只需在绘制时抚摸它,所以你的CGContextFillPath方法似乎是多余的 - 删除它:

CGContextMoveToPoint(ctx, position.X, position.Y - (size.height / 2));
CGContextAddLineToPoint(ctx, position.X - (size.width / 2), position.Y + (size.height / 2));
CGContextAddLineToPoint(ctx, position.X + (size.width / 2), position.Y + (size.height / 2));
CGContextSetLineWidth(ctx, 1.0);
CGContextStrokePath(ctx);