首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >可可绘画入门

可可绘画入门
EN

Stack Overflow用户
提问于 2009-12-16 05:29:11
回答 3查看 997关注 0票数 2

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-12-16 05:53:53

正如Jarret提到的,Apple docs是一个很好的起点。但是,有一些事情需要牢记:

视图使用的默认坐标系是原点位于视图左下角的Cartesian coordinate system。大多数情况下,您希望原点位于视图的左上角,因此这是您重写isFlipped:方法(返回NO的默认实现)、返回YES的地方

代码语言:javascript
运行
复制
- (BOOL)isFlipped
{
    return YES;
}

这将“翻转”坐标系,使原点在发生垂直翻转后位于左上角。这可以使某些图形位置计算变得更容易。

你可能想要开始做的主要事情是:

  • 填充基本矩形(使用NSBezierPath类方法fillRect:,以及用于设置和使用图像的colours).
  • Working的NSColor类(使用NSImage类和绘图方法it provides).
  • Paths,,您可以在其中绘制线条和其他形状(使用NSBezierPath类)。

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

可能不会立即关注,但只需要注意一下,在某些情况下,您应该看看View Programming Guide for CocoaOptimizing View Drawing部分。绘制操作应该是快速的,有时人们在绘制的性能方面考虑得如此之少,这让我感到惊讶,因为有一些基本的事情可以让您的绘制-从而使应用程序-更有效,例如只重新绘制视图中实际发生更改的部分,而不是整个视图。

票数 4
EN

Stack Overflow用户

发布于 2009-12-16 05:31:55

苹果的Introduction to Cocoa Drawing Guide是最好的起点。这里有很多例子。

票数 4
EN

Stack Overflow用户

发布于 2009-12-16 05:31:23

您应该启动at the beginning

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1910533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档