1、Hex值颜色转换

  1. #import <UIKit/UIKit.h>
  2.  
  3. @interface UIColor (Extension)
  4.  
  5. // 根据无符号的32位整数转换为对应的RGB颜色
  6. + (instancetype)sy_colorWithHex:(u_int32_t)hex;
  7.  
  8. @end
  9.  
  10. #import "UIColor+Extension.h"
  11.  
  12. @implementation UIColor (Extension)
  13.  
  14. + (instancetype)sy_colorWithHex:(u_int32_t)hex{
  15.  
  16. ;
  17. ;
  18. int blue = hex & 0x0000FF;
  19.  
  20. return [UIColor colorWithRed:red/255.0 green:green/255.0 blue:blue/255.0 alpha:1.0];
  21. }
  22.  
  23. @end

2、将UIColor转换为RGB值

  1. - (NSMutableArray *) changeUIColorToRGB:(UIColor *)color
  2. {
  3. NSMutableArray *RGBStrValueArr = [[NSMutableArray alloc] init];
  4. NSString *RGBStr = nil;
  5.  
  6. //获得RGB值描述
  7. NSString *RGBValue = [NSString stringWithFormat:@"%@",color];
  8.  
  9. //将RGB值描述分隔成字符串
  10. NSArray *RGBArr = [RGBValue componentsSeparatedByString:@" "];
  11.  
  12. //获取红色值
  13. ] intValue] * ;
  14. RGBStr = [NSString stringWithFormat:@"%d",r];
  15. [RGBStrValueArr addObject:RGBStr];
  16.  
  17. //获取绿色值
  18. ] intValue] * ;
  19. RGBStr = [NSString stringWithFormat:@"%d",g];
  20. [RGBStrValueArr addObject:RGBStr];
  21.  
  22. //获取蓝色值
  23. ] intValue] * ;
  24. RGBStr = [NSString stringWithFormat:@"%d",b];
  25. [RGBStrValueArr addObject:RGBStr];
  26.  
  27. //返回保存RGB值的数组
  28. return [RGBStrValueArr autorelease];
  29. }

3、16进制颜色(html颜色值)字符串转为UIColor

  1. +(UIColor *) hexStringToColor: (NSString *) stringToConvert
  2. {
  3. NSString *cString = [[stringToConvert stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString];
  4. // String should be 6 or 8 characters
  5.  
  6. ) return [UIColor blackColor];
  7. // strip 0X if it appears
  8. ];
  9. ];
  10. ) return [UIColor blackColor];
  11.  
  12. // Separate into r, g, b substrings
  13.  
  14. NSRange range;
  15. range.location = ;
  16. range.length = ;
  17. NSString *rString = [cString substringWithRange:range];
  18. range.location = ;
  19. NSString *gString = [cString substringWithRange:range];
  20. range.location = ;
  21. NSString *bString = [cString substringWithRange:range];
  22. // Scan values
  23. unsigned int r, g, b;
  24.  
  25. [[NSScanner scannerWithString:rString] scanHexInt:&r];
  26. [[NSScanner scannerWithString:gString] scanHexInt:&g];
  27. [[NSScanner scannerWithString:bString] scanHexInt:&b];
  28.  
  29. return [UIColor colorWithRed:((float) r / 255.0f)
  30. green:((float) g / 255.0f)
  31. blue:((float) b / 255.0f)
  32. alpha:1.0f];
  33. }

UIColor各种颜色转换的更多相关文章

  1. iOS中RGB颜色转换

    iOS中RGB常用的色值,同时可将对颜色的设置定义成宏,方便开发应用,如: // RGB颜色转换(16进制->10进制) #define UIColorFromRGB(rgbValue) [UI ...

  2. iOS开发-16进制颜色转换

    项目中经常会用到颜色转换,有的是通过十六进制转成数字转颜色,想简单的点直接通过字符串转一下,简单扩展了一下分类UIColor,代码如下: +(UIColor *)colorWithHex:(NSStr ...

  3. js颜色转换

    很久之前面试遇到过一个题.写个颜色转换的方法. function RGB2Color(r,g,b) { return '#' + byte2Hex(r) + byte2Hex(g) + byte2He ...

  4. C语言颜色转换宏

    C语言颜色转换宏 #define COLOR_BPP16_RGB555 /* Win RGB */ #define COLOR_RGB(r,g,b) ((COLORREF)(((BYTE)(r)|(( ...

  5. OpenCV颜色转换和皮肤检测

    本笔记重点记录OpenCV中的颜色转换和利用色彩空间的特性进行皮肤检测 颜色转换 实现原理 之所以要引入色调/饱和度/亮度的色彩空间概念,是因为人们喜欢凭直觉分辨各种颜色,而它与这种方式吻合.实际上, ...

  6. 颜色转换、随机、16进制转换、HSV

    颜色转换.随机.16进制转换.HSV: /** * * *-----------------------------------------* * | *** 颜色转换.随机.16进制转换.HSV * ...

  7. 2018-9-30-C#-winforms-输入颜色转换颜色名

    title author date CreateTime categories C# winforms 输入颜色转换颜色名 lindexi 2018-09-30 18:27:49 +0800 2018 ...

  8. [iOS]把16进制(#871f78)颜色转换UIColor

    // // ViewController.m // text // // Created by 李东旭 on 16/1/22. // Copyright © 2016年 李东旭. All rights ...

  9. 颜色转换:#hhhfff->UIColor (MHHexColoring)

    MHHexColoring为开发者快速获取想要的十六进制颜色(Hex Color) 查找16进制色码的网站:http://www.color-hex.com // 版权属于原作者 MHHexColor ...

随机推荐

  1. centos6 下用yum 安装 nginx

    以下操作在Cento6.4 系统下实现 一.更新使用163的库 vi /etc/yum.repos.d/CentOS-Base.repo yum update [base] name=CentOS-$ ...

  2. IE6浏览器兼容问题及部分解决方案(网上整理)

    作为一个初涉前端技术的IT菜鸟,IE浏览器的兼容问题是一个不得不跨越的坎.为了能够在不同浏览器达到同样的显示效果,就不得不花心思想出办法实现兼容.由于各大主流浏览器内核不同,各自的实现标准有所差异,因 ...

  3. Linux中判断大小端的一种方法

    大小端的定义无需赘言,常用的方法有使用联合体和指针法,如: int checkCPU() { union w { int a; char b; }c; c.a = 1; return (c.b == ...

  4. 转:Windows下载Android源码

    原文来自于:http://blog.csdn.net/hlf48641715/article/details/7188450 下载msysgit,安装 官方下载:http://code.google. ...

  5. Windows10关闭快速启动

  6. shell脚本实例一,移动文件夹中大于2000B的文件到另一个文件夹

    shell脚本能帮我们简化linux下的一些工作,现在有个需求,把TMPA文件夹下大于2000B的文件都移动到TMPB下 #! /bin/bash function movefiles() { ` d ...

  7. 在keil中使用printf()函数的要点

    在keil中printf默认是向串口中发送数据的,所以,如果应用该函数,必须先初始化串口,否则可能引起死机的情况,并且在printf之前应该先将TI置位,摘抄原因如下: 1.printf函数是调用pu ...

  8. QT中异形窗口的绘制(winEvent处理WM_NCHITTEST消息)

    这里讨论的只是Windows平台上的实现. 在QT中绘制异形窗口,只要设定 windowFlag 为 CustomizeWindowHint,再结合setMask()就可以做出各种奇形怪状的窗口.相对 ...

  9. 设计模式(十三): Proxy代理模式 -- 结构型模式

      设计模式(十一)代理模式Proxy(结构型) 1.概述 因为某个对象消耗太多资源,而且你的代码并不是每个逻辑路径都需要此对象, 你曾有过延迟创建对象的想法吗 ( if和else就是不同的两条逻辑路 ...

  10. [又是BUG]常见的RuntimeException

    妈蛋这异常那异常都是异常,不能忍了! 下面总结一些经常遇到的异常(RuntimeExecption):   算术异常类:ArithmeticExecption 数组下标越界异常:ArrayIndexO ...