有没有NSColor的“免费桥接”核心基础版本?
CGColorRef似乎不喜欢NSColor,反之亦然?
基本上,我们希望从存储实际r/g/b/a值的C++包装器/框架类创建NSColor (或兼容的)对象。我知道我们可以使用Objective-C++,但留在C++世界会更好!
任何提示都非常感谢。
发布于 2012-02-11 18:11:55
您可以像这样将CGColorRef转换为NSColor:
CGColorRef cgColor = ...;
NSColorSpace *colorSpace = [[[NSColorSpace alloc] initWithCGColorSpace:CGColorGetColorSpace(cgColor)] autorelease];
NSColor *nsColor = [NSColor colorWithColorSpace:colorSpace
components:CGColorGetComponents(cgColor)
count:CGColorGetNumberOfComponents(cgColor)];如果您经常使用它,最好将它放在一个NSColor类别方法中。
如果您的颜色都在RGBA中,那么在C++代码中使用简单的struct并使用colorWithCalibratedRed:green:blue:alpha:进行转换可能会更容易。
https://stackoverflow.com/questions/9239274
复制相似问题