0

有谁知道如何将自定义形状(例如圆形、三角形、六边形等)添加到 Cocoa 应用程序中?我应该使用一些特殊的对象吗?谢谢。

不要说添加自定义形状的图片之类的东西。我想改变形状的颜色来做我的项目。

4

2 回答 2

1

您可以使用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
于 2012-05-09T06:47:15.327 回答
0

我认为 For You 最好使用 Quartz 图形。

Quartz 是 Cocoa 中所有图形的中心。它提供了基本的图形数据结构和绘图例程。

看看这两个教程会对你有帮助:

石英简介

石英 II 简介

在 Quartz 中,您可以轻松绘制任何形状并更改颜色。

于 2012-05-09T06:02:12.117 回答