一年多前我寫了一個小工具,叫做 colorBy.colorPicker,這個工具的目的在於解決在開發 Cocoa 應用程式的時候,撰寫跟色彩有關的程式的麻煩-比方說,當你需要一個 NSColor 物件的時候,你都必須要花點時間,把你看到的一組顏色,換算成對應到 HSBA 或 RGBA 的小數。不過,今天回頭看這個程式,在設計上有幾個問題-
一、在這個程式寫出來到現在,這段時間裡,Mac Developer 又多了一種跟色彩有關的物件要處理,叫做 UIColor,因為 UIKit 出來了嘛…。
二、原本的程式是寫成 Mac OS X 的系統 Color Picker,之所以寫成 Color Picker,原本是以為這樣就可以在各種文書編輯軟體裡頭-BBEdit 啦、TextMate 啦還是 SubEthaEdit,都可以叫出這個工具,因為大概只有 Color Picker 與輸入法可以算是平台上所有應用程式都可以用的外掛工具(plugin)。
但經過一年多再回來看,這種考量其實完全沒有必要,所有的開發工作往往都是在 Xcode 完成,而麻煩的地方就在,Xcode 裡頭實在找不到什麼地方可以把系統 Color Picker 叫出來。
因為這兩個原因,前兩天決定把這個工具整個重寫一次。新版的名稱叫做 Bunt,專案放在 GitHub 上:http://wiki.github.com/zonble/bunt,您可以直接取得程式碼自行編譯。簡單來說,差別在於-
一、Bunt 現在是獨立的 Cocoa 應用程式,而不再是系統 Color Picker,在啟動之後,就會出現在畫面右上角,需要的時候,用切換應用程式的方式切換過去就可以了。
二、除了原本就支援的 NSColor、Quartz Drawing 的 ColorRef 外,加入了產生 UIColor 與 OpenGL 的顏色的功能。
歡迎取用。