美文网首页
IOS开发环境RGB和hex color的区别

IOS开发环境RGB和hex color的区别

作者: 米米0311 | 来源:发表于2016-10-10 17:27 被阅读0次

    Hex只是一种进制,十六进制。
    iOS 提供的默认构造颜色(特指RGB)的方法其实是用RGBA的每个0~1的分数来构造的,
    比如:[UIColor colorWithRed:0.4 green:0.4 blue:0.4 alpha:1];

    表示Red 40% Green 40% Blue 40% Alpha 100%但实际上我们使用的是256色,所以这个颜色其实是Red 102, Green 102, Blue 102, Alpha 1,我们一般会有一个方法,可以用三个0~255十进制数来生成一个颜色:

    [UIColor colorWithRed: 102/255.0 green: 102/255.0 blue: 102/255.0 alpha: 1];

    但是如果设计师给的是16进制的颜色,比如#335b70工程师有两种办法,我们还是可以直接使用上面的方法,但填进去的时候如下所示:

    [UIColor colorWithRed: 0x33/255.0 green: 0x5b/255.0 blue: 0x70/255.0 alpha: 1];

    就是把每一位拆开,以16进制数填进去;另外,我们也可以用16进制数来构造颜色,如下所示:

    + (UIColor *)colorWithRGBHex:(UInt32)hex
    {
        int r = (hex >> 16) & 0xFF;
        int g = (hex >> 8) & 0xFF;
        int b = (hex) & 0xFF;
        
        return [UIColor colorWithRed:r / 255.0f
                               green:g / 255.0f
                                blue:b / 255.0f
                               alpha:1.0f];
    }
    

    这样的话可以把十六进制数0x335b70填进去也能生成同样的一个颜色。

    相关文章

      网友评论

          本文标题:IOS开发环境RGB和hex color的区别

          本文链接:https://www.haomeiwen.com/subject/awkvyttx.html