Вы можете преобразовать 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, может быть проще просто использовать простой struct
в вашем коде C ++ и использовать colorWithCalibratedRed:green:blue:alpha:
для преобразования.