iOS 开发工具

RGB和HEX颜色互相转换

2016-08-04  本文已影响2419人  面糊
  1. 常见的几种表示颜色的方法有:

    • ColorName: 直接用颜色的名称来指定颜色
      • 优点: 很直观的表达想要使用的颜色
      • 缺点: 颜色的名称很少, 不能有效表示一些较为丰富的颜色
    • RGB: 三通道颜色
      • 他是目前运用最广泛的颜色系统之一
      • 可以通过红绿蓝三色通道, 外加alpha透明度, 来展示几乎所有的颜色
      • RGB是从颜色的发光原理来设定的, 相当于红绿蓝三个颜色通过不同亮度, 来组合成为需要的颜色
      • 0为最暗, 255为最亮
    • HEX: 十六进制颜色
      • 十六进制与RGB都可以展示出非常丰富的颜色, 他是通过16进制0~F这16个字符来表达颜色的
      • 同样, 000000为黑色, FFFFFF为白色
  2. RGB转换为HEX

    • RGB与HEX中每个颜色都是一一对应的关系, 如下面的附表所示
    • RGB的数值 = 16 * HEX的第一位 + HEX的第二位
    • 示例如下:
      • RGB: 92, 184, 232
        • 92 / 16 = 5余12 -> 5C
        • 184 / 16 = 11余8 -> B8
        • 232 / 16 = 14余8 -> E8
        • HEX = 5CB8E8
  3. HEX转换RGB

    • 此转换就是将上述的转换逆转即可
    • 示例如下
      • HEX: F26BC1
        • F2 = 15和2 -> 15 * 16 + 2 = 242
        • 6B = 6和11 -> 6 * 16 + 11 = 107
        • C1 = 12和1 -> 12 * 16 + 1 = 193
  4. OC代码, 16进制转换为RGB形式的UIColor

    • 首先, 代码如下
        #define UIColorFromRGB(rgbValue) \
        [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16)) / 255.0 \
        green:((float)((rgbValue & 0x00FF00) >> 8)) / 255.0 \
        blue:((float)((rgbValue & 0x0000FF) >> 0)) / 255.0 \
        alpha: 1.0]
上一篇 下一篇

猜你喜欢

热点阅读