文档章节

将 16进制 装换为 RGB

asjoker
 asjoker
发布于 2016/01/27 11:32
字数 229
阅读 24
收藏 1

很多时候都使用 #XXXXXX 这种16进制的颜色值,在ios中需要转换为 RGB 


/// 转换 uicolor 颜色

func strConvertColor(colorStr:String , alpha:CGFloat = 1 ) -> UIColor {

    //删除字符串中的空格

    var str:String = colorStr.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet()).uppercaseString

    

    if str.hasPrefix("0X"){

        //如果是0x开头的,那么截取字符串,字符串从索引为2的位置开始,一直到末尾

        let index = str.startIndex.advancedBy(2)

        str = str.substringFromIndex(index)

    }else if str.hasPrefix("#"){

        //如果是#开头的,那么截取字符串,字符串从索引为1的位置开始,一直到末尾

        let index = str.startIndex.advancedBy(1)

        str = str.substringFromIndex(index)

    }

    if str.characters.count != 6 {

        return UIColor.clearColor()

    }

    

    let rString = (str as NSString).substringToIndex(2)

    let gString = ((str as NSString).substringFromIndex(2) as NSString).substringToIndex(2)

    let bString = ((str as NSString).substringFromIndex(4) as NSString).substringToIndex(2)

    

    var r:CUnsignedInt = 0, g:CUnsignedInt = 0, b:CUnsignedInt = 0;

    NSScanner(string: rString).scanHexInt(&r)

    NSScanner(string: gString).scanHexInt(&g)

    NSScanner(string: bString).scanHexInt(&b)

    

    return UIColor(red: CGFloat(r) / 255.0, green: CGFloat(g) / 255.0, blue: CGFloat(b) / 255.0, alpha: alpha )

}


© 著作权归作者所有

共有 人打赏支持
asjoker
粉丝 10
博文 108
码字总数 79411
作品 0
东城
程序员
Android/iOS及设计中ARGB颜色值百分比透明度换算

Android/iOS及设计中ARGB颜色值百分比透明度换算 设计上经常要求对一个颜色值进行一定百分比的透明度,比如给定一个颜色0xFF0000FF(蓝色)要求80%透明,该如何处理呢?80%透明的蓝色值是多少...

zhangphil
05/12
0
0
Java中二进制,十进制,十六进制装换

Java中二进制,十进制,十六进制装换 十进制转成十六进制: Integer.toHexString(int i) 十进制转成八进制 Integer.toOctalString(int i) 十进制转成二进制 Integer.toBinaryString(int i) ...

eric_zhang
2011/07/27
0
0
将16进制的颜色值变成UIColor

HTML的颜色值都是16进制的,这份代码将HTML的16进制颜色值转换成UIColor对象(RGB)。 + (UIColor ) colorFromHexRGB:(NSString ) inColorString{ UIColor *result = nil; unsigned int colorC......

vane_
2014/03/26
0
0
Android颜色定义、设置、转换、拾取详解

Android中的颜色值通常遵循RGB/ARGB标准,使用时通常以“ # ”字符开头的8位16进制表示。其中ARGB 依次代表透明度(Alpha)、红色(Red)、绿色(Green)、蓝色(Blue),取值范围为0 ~ 255(即16进...

疾跑赶地铁
01/10
0
0
#ff00ab是什么鬼?1分钟了解色彩

我们经常听到RGB, 特别对于网页设计者,在选颜色的时候,看到的颜色都是 #fff, #34220a这种代码,这些到底是啥呢?有没有可能已看到 #ff0abc 这种代码,大脑就可以浮现是什么样的颜色呢?答案...

xu54
01/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

创建第一个react项目

sudo npm i -g create-react-app@1.5.2 create-react-app react-app cd react-apprm -rf package-lock.jsonrm -rf node_modules #主要是为了避免报错npm installnpm start......

lilugirl
今天
1
0
在浏览器中进行深度学习:TensorFlow.js (八)生成对抗网络 (GAN)

Generative Adversarial Network 是深度学习中非常有趣的一种方法。GAN最早源自Ian Goodfellow的这篇论文。LeCun对GAN给出了极高的评价: “There are many interesting recent development...

naughty
今天
0
0
搬瓦工镜像站bwh1.net被DNS污染,国内打不开搬瓦工官网

今天下午(2018年10月17日),继搬瓦工主域名bandwagonhost.com被污染后,这个国内的镜像地址bwh1.net也被墙了。那么目前应该怎么访问搬瓦工官网呢? 消息来源:搬瓦工优惠网->搬瓦工镜像站b...

flyzy2005
今天
3
0
SpringBoot自动配置

本篇介绍下,如何通过springboot的自动配置,将公司项目内的依赖jar,不需要扫描路径,依赖jar的情况下,就能将jar内配置了@configuration注解的类,创建到IOC里面 介绍下开发环境 JDK版本1.8 spr...

贺小五
今天
3
0
命令行新建Maven多项目

参考地址 # DgroupId 可以理解为包名# DartifactId 可以理解为项目名mvn archetype:generate -DgroupId=cn.modfun -DartifactId=scaffold -DarchetypeArtifactId=maven-archetype-quickst......

阿白
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部