zoukankan      html  css  js  c++  java
  • convert a hexadecimal color (e.g. #FFCC88)

    The following is a simple method that will convert a hexadecimal color (e.g. #FFCC88) into an equivalent UIColor object.
    - (UIColor *) colorForHex:(NSString *)hexColor {
    hexColor = [[hexColor stringByTrimmingCharactersInSet:
    [NSCharacterSet whitespaceAndNewlineCharacterSet]
    ] uppercaseString];
    // String should be 6 or 7 characters if it includes '#'
    if ([hexColor length] < 6)
    return [UIColor blackColor];
    // strip # if it appears
    if ([hexColor hasPrefix:@"#"])
    hexColor = [cString substringFromIndex:1];
    // if the value isn't 6 characters at this point return
    // the color black
    if ([hexColor length] != 6)
    return [UIColor blackColor];
    // Separate into r, g, b substrings
    NSRange range;
    range.location = 0;
    range.length = 2;
    NSString *rString = [hexColor substringWithRange:range];
    range.location = 2;
    NSString *gString = [hexColor substringWithRange:range];
    range.location = 4;
    NSString *bString = [hexColor substringWithRange:range];
    // Scan values
    unsigned int r, g, b;
    [[NSScanner scannerWithString:rString] scanHexInt:&r];
    [[NSScanner scannerWithString:gString] scanHexInt:&g];
    [[NSScanner scannerWithString:bString] scanHexInt:&b];
    return [UIColor colorWithRed:((float) r / 255.0f)
    green:((float) g / 255.0f)
    blue:((float) b / 255.0f)
    alpha:1.0f];
    }
    

    Notice that we had to first separate our the hex values for the red, green, and blue components first as substrings and then apply the NSScanner to those substrings.

  • 相关阅读:
    oracle python操作 增删改查
    python连接oracle
    opengl问题
    [转]C++ 获取文件夹下的所有文件名
    @RequestMapping[转]
    hdu 6082
    maven/ssm框架搭建
    windows下mysql解压版安装及centos下mysql root密码忘记
    maven创建web项目
    eclipse用tomcat发布网站的目录
  • 原文地址:https://www.cnblogs.com/cnsoft/p/1409040.html
Copyright © 2011-2022 走看看