gpt4 book ai didi

macos - 来自 NSColor 的 RGB 值

转载 作者:行者123 更新时间:2023-12-03 16:45:40 25 4
gpt4 key购买 nike

我正在尝试读取 osx 颜色列表 (.clr),但在解释颜色值时遇到困难。

上下文:我正在为一个名为 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

CSS、Sketch 和 Photoshop 中的 rgba 值为

16, 77, 161, 1

我想也许它只是将范围从 255 缩放到 1。但是当我进行数学计算时,它并没有完全相加。 b值,例如:

0.562826 * 255 = 143.52063

但应该是161。

还有其他方法可以转换颜色吗?

最佳答案

您的颜色NSColor对象,位于 NSCalibrateRGBColorSpace 中,这是标准 RGB 颜色空间。您可以通过官方方法将其转换为整数值。

https://developer.apple.com/library/mac/qa/qa1576/_index.html

我为您将其转换为 CocoaScript。

var red = color.redComponent() * 255.99999;
var green = color.greenComponent() * 255.99999;
var blue = color.blueComponent() * 255.99999;

关于macos - 来自 NSColor 的 RGB 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32958364/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com