gpt4 book ai didi

ios - 关于 UIColor ,这是一个错误还是什么?

转载 作者:可可西里 更新时间:2023-11-01 05:30:59 24 4
gpt4 key购买 nike

我曾经认为 [UIColor whiteColor] 与 [UIColor colorWithRed:1 green:1 blue:1 alpha:1] 完全相同,但事实证明并非如此!谁能解释一下?

CGFloat red1, green1, blue1, alpha1;
UIColor * color1 = [UIColor whiteColor];
[color1 getRed:&red1 green:&green1 blue:&blue1 alpha:&alpha1];
NSLog(@"%f, %f, %f, %f", red1, green1, blue1, alpha1);

UIColor * color2 = [UIColor colorWithRed:1 green:1 blue:1 alpha:1];
[color2 getRed:&red1 green:&green1 blue:&blue1 alpha:&alpha1];
NSLog(@"%f, %f, %f, %f", red1, green1, blue1, alpha1);

输出:

0.000000, 0.000000, 0.000000, -1.998628
1.000000, 1.000000, 1.000000, 1.000000

这很不酷..非常不愉快

最佳答案

来自 UIColor getRed:green:blue:alpha: 的文档:

If the color is in a compatible color space, the color is converted into RGB format and its components are returned to your application. If the color is not in a compatible color space, the parameters are unchanged.

[UIColor whiteColor] 和使用 UIColor colorWithWhite:alpha: 创建的灰色阴影来自与 RGB 颜色空间不同的颜色空间。因此它们不在兼容的色彩空间中。因此,将 UIColor getRed:green:blue:alpha: 用于此类颜色是不合适的。

尝试初始化 4 个 CGFloat 值,看看会得到什么。如果将它们全部设置为零,它们应该保持为零。

关于ios - 关于 UIColor ,这是一个错误还是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13062385/

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