gpt4 book ai didi

cocoa - NSColor 核心粉底对应?

转载 作者:行者123 更新时间:2023-12-03 17:59:06 26 4
gpt4 key购买 nike

是否有 NSColor 的“免费桥接”Core Foundation 对应版本?

CGColorRef 似乎不喜欢 NSColor ,反之亦然?

基本上,我们希望从存储实际 r/g/b/a 值的 C++ 包装器/框架类创建 NSColor(或兼容)对象。我知道我们可以使用 Objective-C++,但留在 C++ 世界会更好!

非常感谢任何提示。

最佳答案

您可以将 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 并使用 colorWithCaliberatedRed:green:blue:alpha: 可能会更容易> 用于转换。

关于cocoa - NSColor 核心粉底对应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9239274/

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