有没有人知道如何在Cocoa应用程序中添加自定义形状(例如圆形,三角形,六边形等)?我应该使用一些特殊物品吗?感谢。
不要说添加自定义形状的图片。我想改变形状的颜色来做我的项目。
答案 0 :(得分:1)
您可以使用NSBezierPath
类(class documentation)从bezier曲线中创建任何您想要的形状。
这是绘制多边形(五边形,六边形等)的类别和类方法。
@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
答案 1 :(得分:0)
我认为你最好使用Quartz图形。
Quartz是Cocoa中所有图形的核心。它提供基本的图形数据结构和绘图程序。
看看这两个对你有帮助的教程:
在石英中您可以轻松绘制任何形状并更改颜色。