在Cocoa中如何用代码绘图更加高效?

6

有哪些建议的“路径”可以让我在Cocoa中更好地进行代码绘图?我认为目前这是我的最大弱点。在代码中进行绘图是一般性的还是Cocoa特定的?

谢谢! - Jason

4个回答

7

最好的方法可能是练习。首先尝试画一些简单的东西:一个日历(基本上是一个网格),一个自定义按钮或数字时钟。

值得注意的是,许多“自定义”控件是由图像制成的,因此并不是所有的绘图都在代码中完成 - 代码所做的唯一事情就是将这些图像拼接在一起。


2

您可能想看看 Opacity,这是一款适用于OS X的绘画应用程序(我与这些人没有关联,只是几天前发现了这个应用程序)。 Opacity与其他绘图应用程序的不同之处在于,它可以直接从您的绘图中创建Quartz代码。当然,生成的代码并不完美,但在我尝试使用这个应用程序的几天里,我发现它对于更有效地使用Quartz非常有帮助。


你可能还想尝试一下**PaintCode** - 顺便说一句,我和那些人没有关联 - 它是一个专门的“绘画应用程序”,在你创建图形时会给你提供绘制代码。这很棒,可以学习一些技巧(以及对于可重用的图形以及解决视网膜挑战非常有用)。 - Jay

0
在编程中,无论您选择哪种UI工具包,都需要使用代码进行绘图以创建自定义控件。使用代码进行绘图确实有其优点,例如,在生产时构建的应用程序/框架非常轻巧,因为不需要担心很多资源(图像/字体等)。
此外,如果出现问题,更改代码中的绘图比重新制作代码和图像要容易得多。
如果您正在进行Cocoa绘图,请首先查看BGHudAppKit的源代码,并阅读Apple的Cocoa绘图指南

0

我和你一样,也想学习更多有关绘制代码的知识。

这是一个庞大的文档,但开发者网站上的 Quartz 2D编程指南 看起来是一个很好的开始。他们介绍了 图形上下文路径,并包含了大量的图像。

那个文档中还提到了一本书,Programming With Quartz: 2D and PDF Graphics in Mac OS X,看起来不错。iPhone和OSX的API几乎是相同的,所以使用Mac OSX的书没有问题。

因此,我建议先从Apple的文档开始(你不需要阅读CGLayer绘图部分之后的内容),尝试一些示例代码并弄清楚它是如何工作的。然后再转向那本书或在网上寻找更多的示例代码。祝好运!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接