【问题标题】:Converting a value within 16-bit color range to a UIColor将 16 位颜色范围内的值转换为 UIColor
【发布时间】:2013-05-02 15:41:38
【问题描述】:

我有一个数字范围内的值,并希望将其转换为 16 位颜色范围内的数字 - 65536 种颜色。然后如何将 65536 颜色范围内的这个值用于 UIColor? 我有一种将十六进制值转换为颜色的方法,如何将无符号整数转换为十六进制值,这是否准确?

从 65536 颜色范围内的值中获取颜色的最佳方法是什么?

【问题讨论】:

    标签: ios objective-c colors


    【解决方案1】:
    [UIColor colorWithRed: (color>>11)/31.0 green: ((color>>5)&0x3F)/63.0 blue: (color&0x1F)/31.0 alpha: 1]
    

    16 位颜色的布局 (source):

    【讨论】:

    • 哇,谢谢,我试试看。对于最新的设备,使用 24 位颜色范围会更好吗?
    • 更多更好:) 如果它在您的控制之下,我建议切换到 24 位。
    • @Helium3 因素有问题 - 我已经更新了答案。
    • 我不需要切换,我正在尝试将一个范围内的值转换为颜色范围内的值,然后转换为十六进制值或使用某种技术从这个计算的颜色值中获取 UIColor在目标范围内。从计算的颜色整数创建 UIColor 只是有点棘手。
    • 没有办法使用objective-c中颜色范围内的索引来获取颜色吗?可能是CG功能?我正在寻找,但找不到。
    猜你喜欢
    • 2020-04-28
    • 2019-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-24
    • 1970-01-01
    • 2016-10-09
    • 2013-01-24
    相关资源
    最近更新 更多