UIColor各种颜色转换
1、Hex值颜色转换
- #import <UIKit/UIKit.h>
- @interface UIColor (Extension)
- // 根据无符号的32位整数转换为对应的RGB颜色
- + (instancetype)sy_colorWithHex:(u_int32_t)hex;
- @end
- #import "UIColor+Extension.h"
- @implementation UIColor (Extension)
- + (instancetype)sy_colorWithHex:(u_int32_t)hex{
- ;
- ;
- int blue = hex & 0x0000FF;
- return [UIColor colorWithRed:red/255.0 green:green/255.0 blue:blue/255.0 alpha:1.0];
- }
- @end
2、将UIColor转换为RGB值
- - (NSMutableArray *) changeUIColorToRGB:(UIColor *)color
- {
- NSMutableArray *RGBStrValueArr = [[NSMutableArray alloc] init];
- NSString *RGBStr = nil;
- //获得RGB值描述
- NSString *RGBValue = [NSString stringWithFormat:@"%@",color];
- //将RGB值描述分隔成字符串
- NSArray *RGBArr = [RGBValue componentsSeparatedByString:@" "];
- //获取红色值
- ] intValue] * ;
- RGBStr = [NSString stringWithFormat:@"%d",r];
- [RGBStrValueArr addObject:RGBStr];
- //获取绿色值
- ] intValue] * ;
- RGBStr = [NSString stringWithFormat:@"%d",g];
- [RGBStrValueArr addObject:RGBStr];
- //获取蓝色值
- ] intValue] * ;
- RGBStr = [NSString stringWithFormat:@"%d",b];
- [RGBStrValueArr addObject:RGBStr];
- //返回保存RGB值的数组
- return [RGBStrValueArr autorelease];
- }
3、16进制颜色(html颜色值)字符串转为UIColor
- +(UIColor *) hexStringToColor: (NSString *) stringToConvert
- {
- NSString *cString = [[stringToConvert stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString];
- // String should be 6 or 8 characters
- ) return [UIColor blackColor];
- // strip 0X if it appears
- ];
- ];
- ) return [UIColor blackColor];
- // Separate into r, g, b substrings
- NSRange range;
- range.location = ;
- range.length = ;
- NSString *rString = [cString substringWithRange:range];
- range.location = ;
- NSString *gString = [cString substringWithRange:range];
- range.location = ;
- NSString *bString = [cString 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];
- }
UIColor各种颜色转换的更多相关文章
- iOS中RGB颜色转换
iOS中RGB常用的色值,同时可将对颜色的设置定义成宏,方便开发应用,如: // RGB颜色转换(16进制->10进制) #define UIColorFromRGB(rgbValue) [UI ...
- iOS开发-16进制颜色转换
项目中经常会用到颜色转换,有的是通过十六进制转成数字转颜色,想简单的点直接通过字符串转一下,简单扩展了一下分类UIColor,代码如下: +(UIColor *)colorWithHex:(NSStr ...
- js颜色转换
很久之前面试遇到过一个题.写个颜色转换的方法. function RGB2Color(r,g,b) { return '#' + byte2Hex(r) + byte2Hex(g) + byte2He ...
- C语言颜色转换宏
C语言颜色转换宏 #define COLOR_BPP16_RGB555 /* Win RGB */ #define COLOR_RGB(r,g,b) ((COLORREF)(((BYTE)(r)|(( ...
- OpenCV颜色转换和皮肤检测
本笔记重点记录OpenCV中的颜色转换和利用色彩空间的特性进行皮肤检测 颜色转换 实现原理 之所以要引入色调/饱和度/亮度的色彩空间概念,是因为人们喜欢凭直觉分辨各种颜色,而它与这种方式吻合.实际上, ...
- 颜色转换、随机、16进制转换、HSV
颜色转换.随机.16进制转换.HSV: /** * * *-----------------------------------------* * | *** 颜色转换.随机.16进制转换.HSV * ...
- 2018-9-30-C#-winforms-输入颜色转换颜色名
title author date CreateTime categories C# winforms 输入颜色转换颜色名 lindexi 2018-09-30 18:27:49 +0800 2018 ...
- [iOS]把16进制(#871f78)颜色转换UIColor
// // ViewController.m // text // // Created by 李东旭 on 16/1/22. // Copyright © 2016年 李东旭. All rights ...
- 颜色转换:#hhhfff->UIColor (MHHexColoring)
MHHexColoring为开发者快速获取想要的十六进制颜色(Hex Color) 查找16进制色码的网站:http://www.color-hex.com // 版权属于原作者 MHHexColor ...
随机推荐
- centos6 下用yum 安装 nginx
以下操作在Cento6.4 系统下实现 一.更新使用163的库 vi /etc/yum.repos.d/CentOS-Base.repo yum update [base] name=CentOS-$ ...
- IE6浏览器兼容问题及部分解决方案(网上整理)
作为一个初涉前端技术的IT菜鸟,IE浏览器的兼容问题是一个不得不跨越的坎.为了能够在不同浏览器达到同样的显示效果,就不得不花心思想出办法实现兼容.由于各大主流浏览器内核不同,各自的实现标准有所差异,因 ...
- Linux中判断大小端的一种方法
大小端的定义无需赘言,常用的方法有使用联合体和指针法,如: int checkCPU() { union w { int a; char b; }c; c.a = 1; return (c.b == ...
- 转:Windows下载Android源码
原文来自于:http://blog.csdn.net/hlf48641715/article/details/7188450 下载msysgit,安装 官方下载:http://code.google. ...
- Windows10关闭快速启动
- shell脚本实例一,移动文件夹中大于2000B的文件到另一个文件夹
shell脚本能帮我们简化linux下的一些工作,现在有个需求,把TMPA文件夹下大于2000B的文件都移动到TMPB下 #! /bin/bash function movefiles() { ` d ...
- 在keil中使用printf()函数的要点
在keil中printf默认是向串口中发送数据的,所以,如果应用该函数,必须先初始化串口,否则可能引起死机的情况,并且在printf之前应该先将TI置位,摘抄原因如下: 1.printf函数是调用pu ...
- QT中异形窗口的绘制(winEvent处理WM_NCHITTEST消息)
这里讨论的只是Windows平台上的实现. 在QT中绘制异形窗口,只要设定 windowFlag 为 CustomizeWindowHint,再结合setMask()就可以做出各种奇形怪状的窗口.相对 ...
- 设计模式(十三): Proxy代理模式 -- 结构型模式
设计模式(十一)代理模式Proxy(结构型) 1.概述 因为某个对象消耗太多资源,而且你的代码并不是每个逻辑路径都需要此对象, 你曾有过延迟创建对象的想法吗 ( if和else就是不同的两条逻辑路 ...
- [又是BUG]常见的RuntimeException
妈蛋这异常那异常都是异常,不能忍了! 下面总结一些经常遇到的异常(RuntimeExecption): 算术异常类:ArithmeticExecption 数组下标越界异常:ArrayIndexO ...