【发布时间】:2013-09-20 07:03:51
【问题描述】:
我想将任何作为输入的颜色转换为 CGColor 。一切正常,直到 comming 颜色是空间 NSCalibratedRGBColorSpace,但是当它是 NSNamedColorSpace (NSSelectedMenuItemColor) 类型时,它不会在狮子中产生正确的结果。 也尝试获取 patternImage 但 NSNamedColorSpace 颜色不响应该 API。 相信很多人都遇到过这个问题 如果可以的话,请帮助我。
我试图隐藏的部分代码
if ([colorSpaceName isEqualToString:NSNamedColorSpace])
{
color = [color colorUsingColorSpace:[NSColorSpace genericRGBColorSpace]];
}
NSColorSpace *colorSpaceNS = [color colorSpace];
colorSpace = [colorSpaceNS CGColorSpace];
size_t numberOfComponents = CGColorSpaceGetNumberOfComponents(colorSpace);
CGFloat components[numberOfComponents];
[color getComponents:components];
requiredColor = CGColorCreate(colorSpace, components);
CGColorSpaceRelease(colorSpace);
【问题讨论】:
-
你能粘贴你的代码基本上你想做的吗?
-
我正在尝试在 NSColor 上编写类别,它返回 LION 中任何 NSColor 输入的 CGColor。一种特殊的情况是输入颜色是 NSSelectedMenuItemColor,它是 NSNamedColorSpace 类型。我想知道如何将其转换为 CGColor。
-
你能粘贴你的代码吗?
-
也粘贴了我的代码..有任何更新吗?
标签: objective-c cocoa osx-lion nscolor