gpt4 book ai didi

iOS 将颜色转换为 RGB

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:17:17 29 4
gpt4 key购买 nike

我有一个函数接收 UIColor 并且需要使用它的 RGBA 值。到目前为止我所做的是使用 CGColorGetComponents 但这对其他颜色空间效果不佳(例如 [UIColor blackColor] 是灰度)。使用 getRed green blue(在 iOS 5 中)也不适用于 [UIColor blackColor](返回 false)。

有什么简单的方法吗?

最佳答案

以下方法应该适用于大多数情况(图案颜色除外)。将它作为类别添加到 UIColor。

- (void)getRGBA:(CGFloat*)buffer {
CGColorRef clr = [self CGColor];
NSInteger n = CGColorGetNumberOfComponents(clr);
const CGFloat *colors = CGColorGetComponents(clr);
switch (n) {
case 2:
for(int i = 0; i<3; ++i){
buffer[i] = colors[0];
}
buffer[3] = CGColorGetAlpha(clr);
break;
case 3:
for(int i = 0; i<3; ++i){
buffer[i] = colors[i];
}
buffer[3] = 1.0;
break;
case 4:
for(int i = 0; i<4; ++i){
buffer[i] = colors[i];
}
break;
default:
break;
}
}

关于iOS 将颜色转换为 RGB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13890756/

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