博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
颜色(color)转换为三刺激值(r/g/b)(干股)
阅读量:5770 次
发布时间:2019-06-18

本文共 1044 字,大约阅读时间需要 3 分钟。

//
颜色转换  ##665522 — 三色值
+ (
UIColor
 
*)setFontColorWithString:(
NSString
 
*)color
{
   
 
NSString
 
*cString = [[color
 
stringByTrimmingCharactersInSet
:[
NSCharacterSet
whitespaceAndNewlineCharacterSet]] uppercaseString];
   
    // 字符串个数必须大于等于6
    if ([cString length] < 6) {
        return [UIColorclearColor];
    }
   
    // 依据16进制来区分
    if ([cString hasPrefix:@"0X"])
        cString = [cString substringFromIndex:2];
    if ([cString hasPrefix:@"#"])
        cString = [cString substringFromIndex:1];
    if ([cString length] != 6)
        return [UIColorclearColor];
   
    // 分为r,g,b 子字符串
    NSRange range;
    range.location = 0;
    range.length = 2;
   
    //r
    NSString *rString = [cString substringWithRange:range];
   
    //g
    range.location = 2;
    NSString *gString = [cString substringWithRange:range];
   
    //b
    range.location = 4;
    NSString *bString = [cString substringWithRange:range];
   
    // 扫描r,g,b
    unsignedint r, g, b;
    [[NSScannerscannerWithString:rString] scanHexInt:&r];
    [[NSScannerscannerWithString:gString] scanHexInt:&g];
    [[NSScannerscannerWithString:bString] scanHexInt:&b];
   
    return RgbHex2UIColor(r, g, b);
}

版权声明:本文博客原创文章,博客,未经同意,不得转载。

你可能感兴趣的文章
可替换元素和非可替换元素
查看>>
2016/08/25 The Secret Assumption of Agile
查看>>
(Portal 开发读书笔记)Portlet间交互-PortletSession
查看>>
搭建vsftpd服务器,使用匿名账户登入
查看>>
AMD改善Linux驱动,支持动态电源管理
查看>>
JAVA中循环删除list中元素的方法总结
查看>>
Java虚拟机管理的内存运行时数据区域解释
查看>>
人人都会深度学习之Tensorflow基础快速入门
查看>>
ChPlayer播放器的使用
查看>>
js 经过修改改良的全浏览器支持的软键盘,随机排列
查看>>
Mysql读写分离
查看>>
Oracle 备份与恢复学习笔记(5_1)
查看>>
Oracle 备份与恢复学习笔记(14)
查看>>
分布式配置中心disconf第一部(基本介绍)
查看>>
Scenario 9-Shared Uplink Set with Active/Active uplink,802.3ad(LACP)-Flex-10
查看>>
UML类图中的六种关系
查看>>
探寻Interpolator源码,自定义插值器
查看>>
一致性哈希
查看>>
mysql(待整理)
查看>>
看雪论坛502,出现安全宝?
查看>>