开始使用可可绘图

时间:2009-12-15 21:29:11

标签: objective-c cocoa nsview

我想在NSView子类中做一些自定义绘图,我应该从哪里开始?

3 个答案:

答案 0 :(得分:4)

Apple的Introduction to Cocoa Drawing Guide是最佳起点。那里有很多例子。

答案 1 :(得分:4)

正如贾瑞特所说,Apple docs是一个很好的起点。但是,有些事情需要牢记:

与视图一起使用的默认坐标系是Cartesian coordinate system,其中原点位于视图的左下角。大多数情况下,您希望原点位于视图的左上角,因此您可以覆盖isFlipped:方法(返回NO的默认实现),返回YES:< / p>

- (BOOL)isFlipped
{
    return YES;
}

这会“翻转”坐标系,以便在发生垂直翻转后原点位于左上角。这可以使一些绘图位置计算更容易。

您可能想要开始使用的主要内容包括:

  • 填充基本矩形(使用NSBezierPath类方法fillRect:,以及用于设置和使用颜色的NSColor类。
  • 使用图像(使用NSImage类及其提供的绘图方法)。
  • 路径,您可以在其中绘制线条和其他形状(使用NSBezierPath类)。

您还需要在某个时候查看Graphics Contexts,并在其上设置属性(例如当前颜色,阴影等),用于后续绘图操作。

可能不是直接关注,而只是一个旁注,在某些时候你应该看一下Optimizing View DrawingView Programming Guide for Cocoa部分。绘图操作应该很快,有时令人惊讶的是,当你有一些基本的东西可以让你的绘图 - 以及应用程序 - 更高效,例如只重新绘制部分实际改变的观点,而不是整个观点。

答案 2 :(得分:0)

您应该开始at the beginning