2010-04-24 66 views
6

爲了更好地在Cocoa中繪製代碼,有哪些建議的「路徑」?我認爲在這一點上,這是我最大的弱點。在代碼中繪製一般的東西,還是特定於Cocoa?更好地爲Cocoa繪製代碼?

謝謝! - Jason

+1

我建議bezier paths = P – cobbal 2010-04-24 07:09:10

回答

7

最好的方法可能是練習。首先嚐試繪製一些簡單的東西:日曆(基本上是網格),自定義按鈕或數字時鐘。

其還值得注意的是,有很多的「自定義」控制從圖像中取得,因此不多圖紙在代碼完成 - 該代碼做的唯一的事情是那些拼接圖像一起。

0

無論您選擇何種UI工具包,都需要使用代碼繪製來創建自定義控件。在代碼中繪圖當然有其優勢,例如,您構建的應用程序/框架實際上是輕量級的,因爲會有很多資源(圖片/字體/等)需要擔心。

此外,如果出現問題,更改代碼中的繪圖比重新編寫代碼和圖像要容易得多。

如果你正在做可可繪圖開始通過查看源代碼BGHudAppKit和閱讀Cocoa Drawing Guide by Apple

2

您可能想看看Opacity,OS X的繪圖應用程序(我不附屬於這些人,剛發現應用程序在幾天前)。使Opacity與其他繪圖應用程序不同的是,它可以直接從您的繪圖中創建Quartz代碼。當然,生成的代碼並不完美,但在幾天來我一直在嘗試這個應用程序,我發現它在理解如何更有效地使用Quartz方面非常有幫助。

+0

@Ole Bergemann:+1 for Opacity。 – 2010-04-24 14:12:47

+0

您可能還想查看** [PaintCode](http://www.paintcodeapp.com/)** - 我與這些傢伙都沒有關聯,順便說一句 - 專用的「繪畫應用程序」,可以爲您提供繪圖代碼當你創建你的圖形。整潔地學習一些技巧(非常適合可重複使用的圖形以及解決視網膜挑戰) – Jay 2012-10-07 15:15:49

0

我和你在同一條船上;我想了解更多關於繪圖代碼的知識。

這是一個很大的文檔,但開發人員網站上的Quartz 2D programming guide似乎是一個很好的起點。他們引入了Graphics ContextsPaths,幷包含大量圖像。

還有一本書在該文件中引用,Programming With Quartz: 2D and PDF Graphics in Mac OS X看起來不錯。 iPhone和OSX的API幾乎完全相同,因此使用Mac OSX書籍沒有任何問題。

所以我建議從Apple文檔開始(您不需要閱讀過去CGLayer繪圖部分),嘗試一些示例代碼並找出它的工作原理。然後繼續閱讀該書或在網上找到更多示例代碼。祝你好運!