objective-C把16进制的颜色转换成RGB,包括透明度哦~
2016-04-24 12:19
771 查看
最近在开发中遇到了16进制的颜色转换成RGB的问题,我在网上看了好多感觉没有适合自己的,现在我根据我遇到的问题为大家分享下,希望对遇到同样问题的小伙伴有帮助。
#FFFFFFFF其中#后面的前2位为16进制表示透明度的,后面的6位表示颜色;
-(UIColor *) getColor:(NSString *)hexColor
{
unsigned int alpha, red, green, blue;
NSRange range;
range.length =2;
range.location =1;
[[NSScanner scannerWithString:[hexColor substringWithRange:range]]scanHexInt:&alpha];//透明度
range.location =3;
[[NSScanner scannerWithString:[hexColor substringWithRange:range]]scanHexInt:&red];
range.location =5;
[[NSScanner scannerWithString:[hexColor substringWithRange:range]]scanHexInt:&green];
range.location =7;
[[NSScanner scannerWithString:[hexColor substringWithRange:range]]scanHexInt:&blue];
return [UIColor colorWithRed:(float)(red/255.0f)green:(float)(green/255.0f)blue:(float)(blue/255.0f)alpha:(float)(alpha/255.0f)];
}
//使用
[self getColor:@"#FFFFFFFF"];
#FFFFFFFF其中#后面的前2位为16进制表示透明度的,后面的6位表示颜色;
-(UIColor *) getColor:(NSString *)hexColor
{
unsigned int alpha, red, green, blue;
NSRange range;
range.length =2;
range.location =1;
[[NSScanner scannerWithString:[hexColor substringWithRange:range]]scanHexInt:&alpha];//透明度
range.location =3;
[[NSScanner scannerWithString:[hexColor substringWithRange:range]]scanHexInt:&red];
range.location =5;
[[NSScanner scannerWithString:[hexColor substringWithRange:range]]scanHexInt:&green];
range.location =7;
[[NSScanner scannerWithString:[hexColor substringWithRange:range]]scanHexInt:&blue];
return [UIColor colorWithRed:(float)(red/255.0f)green:(float)(green/255.0f)blue:(float)(blue/255.0f)alpha:(float)(alpha/255.0f)];
}
//使用
[self getColor:@"#FFFFFFFF"];
相关文章推荐
- JavaScript中Object.defineProperty()相关
- Android UiAutomator UiObject API
- Objective-c 动画
- 关于 JavaScript中的 Object.create()
- Objective-C 内存管理
- Object.prototype.toString.call() 区分对象类型
- JSONObject转换Int类型--java.lang.Integer cannot be cast to java.lang.String
- Objective-C:runtime
- OBJ-C匿名对象和封装学习笔记
- OBJ-C类方法概述学习笔记
- springmvc源码阅读笔记 --Object handler和request请求路径查询lookupPath
- Runtime全方位装逼指南
- java中流转化为Object可序列化
- ArcObjects c++ 获取栅格或矢量图层的范围
- Objective-C ARC单例模式
- [CC]ccHObject
- Object-C 基础学习(二)
- 关于用ObjectInputStream遍历读取文件中的对象,如何判断到达文件末尾
- Object-C 和 lua的相互调用
- iOS-Effective Objective-C 2.0 读书笔记(一)