colorBy.colorPicker

colorBy.colorPicker

下載 0.1 版:http://zonble.googlecode.com/files/colorBy.colorPicker.0.1.zip

.colorPicker 是副檔名,不過,軟體的全名就叫做 colorBy.colorPicker,意義是:「從 colorPicker 產生 color」。簡單講,這是一個給 Cocoa Developer 用的 Color Picker,幫你把你選到的顏色,轉換成 NSColor 程式碼。下載解壓之後,將 colorBy.colorPicker 放到自己目錄下的 ~/Library/ColorPickers 目錄,或是 /Library/ColorPickers 目錄;之後,只要在任何 Cocoa 軟體中,打開 Color Picker,就可以看到多出一個分頁。點選分頁即可使用。目前只有在 Leopard 上面試過,照理說 Tiger 也能用。

Cocoa 是個不錯的環境,不過,有時候也會覺得寫 Cocoa 頂煩人的。比方說,在寫 Obj-C 的時候,就常常會體會到紀蔚然在《驚異派對》這部戲裡頭所講的—人生就是在不斷的跳針—這樣的感受;怎麼說呢?比方說,在你要產生一個 string 的程式碼,你可能會需要連續輸入六次「string」:

NSString *string = [NSString stringWithString:anotherString];
NSString *string = [NSString stringWithUTF8String:"UTF8String"];

基本上,不管是什麼類型的物件,都讓人覺得,人生就是在不斷的跳針。

NSOpenPanel *openPanel = [NSOpenPanel openPanel];
NSOpenPanel *savePanel = [NSSavePanel savePanel];
NSArray *array = [NSArray arrayWithArray:anotherArray];
NSData *data = [NSData dataWithData:anotherData];

更棒的是你還可以繼續將各式各樣跳針的感受不斷串接起來。

NSString *string = [[NSString stringWithString:[NSString stringWithUTF8String:"UTF8String"]] stringByAppendingString:[NSString stringWithUTF8String:"AnotherUTF8String"]];

而產生 NSColor 物件,也是相當的煩人。產生 NSColor 的麻煩之處不在於語法冗長(雖然也是麻煩之處之一,例:NSColor *color = [NSColor clearColor];,又是四個 color!),更討厭的是,當你要處理一些繪圖相關的工作,需要透過 NSColor 物件,套上你想要使用的色彩的時候,NSColor 的所有 Method,都要你輸入從 0.0 到 1.0 之間的 float。無論是 HSB(也就是 HVC)的色相、彩度、明度值,RGB 的三原色、CMYK 的四色,還有透明度 alpha 值,都是如此。

好吧,CMYK 濃度本來就是百分比,要50%,就輸入0.5即可。但是如果你從 Color Picker 上面選到一個色相環上的色相,或是要輸入 RGB 值,就真讓人覺得是在浪費人生;你從色相環上挑到的色相是一個介於 0 到 359 的角度,要換算成 float,你要自己打一下計算機,或是輸入你得到的角度除以 359.0,RGB 值則是介於 0 到 255,所以要除以 255.0…。—與其花時間做這些事情,不如直接寫個小工具,挑到什麼顏色,就自動產生程式碼算了。

這個小工具可以幫你產生以下系列的程式碼:

  • colorWithCalibratedHue: saturation: brightness: alpha:
  • colorWithDeviceHue: saturation: brightness: alpha:
  • colorWithCalibratedRed: green: blue: alpha:
  • colorWithDeviceRed: green: blue: alpha:
  • colorWithDeviceCyan: magenta: yellow: black: alpha:

您可以先從其他類型的 Color Picker 中—例如色相環或是系統色盤中—,挑選想要的顏色,或是使用畫面上方的那個放大鏡,挑選螢幕中任何範圍的顏色。選好顏色之後,程式就會自動更新您可以使用的程式碼,然後,您就可以拷貝程式碼、或是直接拖拉文字內容,貼到您所使用的編輯軟體,例如 Xcode、TextMate…等。

Mac OS X 中,除了 RGB 與 CMYK colorspace 之外,也設計了只有純白與純黑的 colorspace(也就是 NSDeviceWhiteColorSpace 、 NSCalibratedWhiteColorSpace 、 NSDeviceBlackColorSpace 與
NSCalibratedBlackColorSpace ),但是這個工具會忽略這個狀況,只提供 HSB、RGB 與 CMYK 的程式。

而如果您需要的是只有純白或純黑的顏色,那麼,直接輸入 [NSColor whiteColor] 或 [NSColor blackColor] 就好了。

Be Sociable, Share!

6 thoughts on “colorBy.colorPicker

  1. Pingback: :::zonble’s promptbook » Leopard 的 Garbage Collection:::

  2. Pingback: Bunt | zonble’s promptbook

Leave a Reply