有谁知道如何将自定义形状(例如圆形、三角形、六边形等)添加到 Cocoa 应用程序中?我应该使用一些特殊的对象吗?谢谢。
不要说添加自定义形状的图片之类的东西。我想改变形状的颜色来做我的项目。
有谁知道如何将自定义形状(例如圆形、三角形、六边形等)添加到 Cocoa 应用程序中?我应该使用一些特殊的对象吗?谢谢。
不要说添加自定义形状的图片之类的东西。我想改变形状的颜色来做我的项目。
您可以使用NSBezierPath
类(类文档)从贝塞尔曲线中制作您想要的任何形状。
这是用于绘制多边形(五边形、六边形等)的类别和类方法。
@interface NSBezierPath (Polygons)
+ (NSBezierPath *)bezierPathWithPolygonAt:(NSPoint)origin
radius:(float)r sides:(int)nsides;
@end
@implementation
+ (NSBezierPath *)bezierPathWithPolygonAt:(NSPoint)origin
radius:(float)r sides:(int)nsides
{
NSBezierPath *p = [NSBezierPath bezierPath];
int i;
for (i = 0; i < nsides; ++i) {
float a = i * (atanf(1.0f) * 8.0f / nsides);
NSPoint pt = NSMakePoint(origin.x + r * cosf(a),
origin.y + r * sinf(a));
if (i == 0)
[p moveToPoint:pt];
else
[p lineToPoint:pt];
}
[p closePath];
return p;
}
@end