2
我試圖讀取一個osx colorlist(.clr),並且無法解釋顏色的值。來自NSColor的RGB值
背景:我正在爲一個名爲Sketch的設計程序編寫一個調色板插件。這些插件寫在cocoascript,這是JS和Objective-C/Cocoa之間的橋樑。這使您可以使用類像NSColor
工作我使用此代碼讀取文件:
// Choose colorlist file ------------------------------------------
var openPanel = NSOpenPanel.openPanel();
openPanel.setCanChooseDirectories(true);
openPanel.setCanChooseFiles(true);
openPanel.setCanCreateDirectories(true);
openPanel.setTitle("Choose a file");
openPanel.setPrompt("Choose");
openPanel.runModal();
// Read colors from file ------------------------------------------
var filePath = openPanel.URLs().firstObject().path();
var fileName = filePath.lastPathComponent().stringByDeletingPathExtension();
var colorList = NSColorList.alloc().initWithName_fromFile(fileName, filePath);
var colorKeys = colorList.allKeys();
var color = colorList.colorWithKey(colorKeys[3]);
log(color);
這工作,我可以登錄顏色與OS X控制檯應用程序。問題是我不知道如何使用輸出:
NSCalibratedRGBColorSpace 0.0599575 0.220776 0.562826 1
的RGBA值CSS,素描和Photoshop是
16, 77, 161, 1
我想也許它只是從縮放範圍255到1.但是,當我做數學時,它不會完全加起來。 b值,例如:
0.562826 * 255 = 143.52063
,但它應該是161
是否有我應該將彩色一些其他的方式?
爲什麼這個標記爲Objective-C?發佈的代碼不是Objective-C。 – rmaddy
「Sketch和Photoshop中的rgba值爲16,77,161,1」沒有顏色配置文件的RGB值幾乎完全沒用。你必須知道這些值所表達的相關顏色屬性是什麼,以便對它們有所瞭解。閱讀我的答案[這裏](http://stackoverflow.com/a/30053097/1312143)瞭解更多。 –
@rmaddy草圖插件可以通過CocoaScript實現,CocoaScript是一個橋樑,可以讓您使用JavaScript編寫的外部腳本中的** Objective-C/Cocoa **代碼。 –