Colours–颜色库,包含100种预定义的颜色和方法

简介
Colours–颜色库,包含各种100种预定义的颜色和方法,可以简化颜色相关的开发工作.
项目主页: Colours
最新示例: 点击下载
快速入门
安装
通过Cocoapods安装
pod 'Colours'
手动安装
把 Colours.h 和 Colours.m拖进你的工程里,在需要的地方引入头文件即可:
#import "Colours.h"
使用
调色板,一组预定义的颜色
具体可点击这里查看: 100个预定义的颜色
使用预定义的颜色
Colours 预定义了100 多种颜色,用法和使用iOS系统预定义的方式一样:
[UIColor indigoColor]; // indigoColor是Colours预定义的一种颜色.
颜色相关的工具方法
十六进制字符串与颜色的相互转换
UIColor *newColor = [UIColor colorFromHexString:@"#f587e4"];
NSString *hexString = [newColor hexString];
RGBA与颜色的相互转换.
RGBA数组与颜色的相互转换
NSArray *colorArray = [[UIColor seafoamColor] rgbaArray];// 数组中存储四个NSNumber对象分别代表RGBA的四个值,取值范围 0-1.
UIColor *newColor = [UIColor colorFromRGBAArray:colorArray];
RGBA字典与颜色的相互转换
预定义的四个键是:
kColoursRGBA_RkColoursRGBA_GkColoursRGBA_BkColoursRGBA_A
NSDictionary *colorDict = [[UIColor seafoamColor] rgbaDictionary];UIColor *newColor = [UIColor colorFromRGBADictionary:colorDict]; // 你可以获取某个单独的值:
NSNumber *r = colorDict[kColoursRGBA_R];
HSBA数组与颜色的相互转换
NSArray *colorArray = [[UIColor seafoamColor] hsbaArray];// 数组中存储四个NSNumber,分别代表H(色调),S(色饱和度),B(亮度),A(透明度)的值.
NSDictionary *colorDict = [[UIColor seafoamColor] hsbaDictionary];
HSBA与颜色的相互转换
与RGBA与颜色的相互转换类似,预定义的键是:
kColoursHSBA_H 色调kColoursHSBA_S 色饱和度kColoursHSBA_B 色亮度kColoursHSBA_A 透明度
NSArray *colorArray = [[UIColor seafoamColor] hsbaArray];
NSDictionary *colorDict = [[UIColor seafoamColor] hsbaDictionary]; UIColor *newColor1 = [UIColor colorFromHSBAArray:colorArray];
UIColor *newColor2 = [UIColor colorFromHSBADictionary:colorDictionary];
CIELAB 与颜色的相互转换
与RGBA与颜色的相互转换类似,预定义的键是:
kColoursCIE_LkColoursCIE_AkColoursCIE_BkColoursCIE_alpha
NSArray *colorArray = [[UIColor seafoamColor] CIE_LabArray];
NSDictionary *colorDict = [[UIColor seafoamColor] CIE_LabDictionary]; UIColor *newColor1 = [UIColor colorFromCIE_LabArray:colorArray];
UIColor *newColor2 = [UIColor colorFromCIE_LabDictionary:colorDictionary];
CMYK 与颜色的相互转换
与RGBA与颜色的相互转换用法相似,预定义的键是:
kColoursCMYK_C 青kColoursCMYK_M 品红kColoursCMYK_Y 黄kColoursCMYK_K 黑
NSArray *colorArray = [[UIColor seafoamColor] cmykArray];
NSDictionary *colorDict = [[UIColor seafoamColor] cmykDictionary]; UIColor *newColor1 = [UIColor colorFromCMYKArray:colorArray];
UIColor *newColor2 = [UIColor colorFromCMYKDictionary:colorDictionary];
获取所有颜色信息
colorComponents 方法会返回一个字典,包含RGBA, HSBA, CIE_LAB和CMYK预定义的所有键:
NSDictionary *components = [someColor colorComponents];
CGFloat H = components[kColoursHSBA_H];
CGFloat L = components[kColoursCIE_L];
如果你一次只想某个某一条颜色相关的信息,可以使用下面的方法:
CGFloat R = [[UIColor tomatoColor] red];
CGFloat G = [[UIColor tomatoColor] green];
CGFloat B = [[UIColor tomatoColor] blue];
CGFloat H = [[UIColor tomatoColor] hue];
CGFloat S = [[UIColor tomatoColor] saturation];
CGFloat B = [[UIColor tomatoColor] brightness];
CGFloat CIE_L = [[UIColor tomatoColor] CIE_Lightness];
CGFloat CIE_A = [[UIColor tomatoColor] CIE_a];
CGFloat CIE_B = [[UIColor tomatoColor] CIE_b];
CGFloat alpha = [[UIColor tomatoColor] alpha];
颜色变亮/变暗
// 取值范围 0->1
UIColor *lighterColor = [[UIColor seafoamColor] lighten:0.25f];
UIColor *darkerColor = [[UIColor seafoamColor] darken:0.25f];
获取对比色
// 根据给定的颜色,自动与之能形成对比色的黑色或白色.
UIColor *contrastingColor = [[UIColor seafoamColor] blackOrWhiteContrastingColor];
获取互补色
// 返回一个给定颜色的互补色:色调改变,色调和饱和度不变.
UIColor *complementary = [[UIColor seafoamColor] complementaryColor];
获取两个颜色间的差别
// 此处的差别,综合考虑了人的感官,数学统计算法等,不是一般的RGB差值.
CGFloat distance = [someColor distanceFromColor:someOtherColor type:ColorDistanceCIE94];
BOOL isNoticablySimilar = distance < threshold;
基于一种颜色,产生多种对应的颜色方案
使用 colorSchemeOfType 方法可以基于某一个颜色,产生四个新的漂亮合适的颜色,并把全部五个颜色以数组形式返回.同一种颜色,不同的方案也会产生不同的颜色组合.
NSArray *colorScheme = [color colorSchemeOfType:ColorSchemeType];
可选颜色方案:
- ColorSchemeAnalagous 近似色
- ColorSchemeMonochromatic 单色
- ColorSchemeTriad 混合色
- ColorSchemeComplementary 互补色
下面是基于[UIColor seafoamColor]颜色的不同颜色方案返回值的示例:
ColorSchemeAnalagous
ColorSchemeMonochromatic
ColorSchemeTriad
ColorSchemeComplementary
Colours–颜色库,包含100种预定义的颜色和方法的更多相关文章
- 创建一个显示所有预定义系统颜色的ListBox
原文 Creating a ListBox that Shows All Predefined System Colors 该System.Windows.SystemColors类包含了一系列揭露当 ...
- C++ 中常见预定义宏的使用
http://blog.csdn.net/hgl868/article/details/7058906 替代字符串: #define DOWNLOAD_IMAGE_LOG /var/log/png.l ...
- 【二十三】php之预定义超全局变量
php提供了九种预定义超全局变量: $_GET.$_POST.$_REQUEST.$_SERVER.$_ENV.$_FILE. $_COOKIE.$_SESSION. $GLOBALS 1.$_GET ...
- C#预定义类型
C#提供了16中预定义类型,其中包括13种简单类型和三种非简单类型: 所有预定义类型的名称全部由小写字母组成.预定义的简单类型包括以下3种:11种数值类型.一种Unicode字符类型char.一种布尔 ...
- WPF中取得预定义颜色
原文:WPF中取得预定义颜色 使用XAML代码取得.net预定义颜色:<Page xmlns="http://schemas.microsoft.com/winfx/2006/x ...
- C#中获取当前系统中安装的所有字体及预定义颜色
需要引用命名空间using System.Drawing.Text;.... //获取系统字体:InstalledFontCollection fc = new InstalledFontCollec ...
- Silverlight 预定义颜色速查表
预定义颜色 可以使用 SolidColorBrush 绘制,它使用预定义纯色.这可以是 Colors 的静态属性 (Property) 名称,也可以是指定为 XAML 属性 (Attribu ...
- [Winform][C#]获取系统颜色预定义颜色和现有字体集
转自: http://zhidao.baidu.com/link?url=ozY7tJRNBYHUsImE6jn1psqc8owib7MWcDMEmZw48q8iD9Hz9MWgnQQcBDO0VYO ...
- 第 16 章 C 预处理器和 C 库(预定义宏)
/*------------------------------------- predef.c -- 预定义宏和预定义标识符 ------------------------------------ ...
随机推荐
- input元素的blur事件与定位在其上面的元素的点击(click)事件冲突的解决方法
在登录和注册框中,在input上定位一个清空内容的按钮. 但是给按钮的单击事件不生效. 解决的办法: 在blur的回调函数中加一个定时器,延迟blur回调函数的执行时间,这样的话虽然在点击div的时候 ...
- inventor卸载不干净
AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...
- inventor删除不干净
AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...
- 警告: [SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.jee.server:esignmanage' did not find a matching property.解决
1.开发环境: 环境:myeclipse2015+tomcat7+win10 2.异常: 偶尔在部署项目的时候回发现tomcat7部署后配置文件按照路径居然找不到自己的项目.httP://localh ...
- oracle简单命令
1.cmd 中 sqlplus /nolog 2.SQL> conn sys/password as sysdba
- 【Iperf】iperf测试wlan的性能
1.概念: iperf命令是一个网络性能测试工具.iperf可以测试TCP和UDP带宽质量. iperf可以测量最大TCP带宽,具有多种参数和UDP特性.iperf可以报告带宽,延迟抖动和数据包丢失. ...
- Unity3D 调用Android与IOS的剪贴板
Unity3D剪贴板 最近遇到一个需要调用Android与IOS设备本身剪贴板的需求,就是在Unity中,要将文本复制到设备本身的剪贴板中,然后在其他应用程序中都能粘贴. 最开始在网上查到的方式是使用 ...
- 5步玩转Power BI Embedded,老司机全程带路解析
最近,由世纪互联运营的 Microsoft Azure 发布了一个超级炫酷的服务 Power BI Embedded,该服务可以通过 REST API 和 Power BI SDK 将 Power B ...
- SQLServer 2012 Ent 安装失败,另辟蹊径
今天配到SqlServer2012 安装不了问题,总是NetFX3,然后一次挂了,然后VS2010 Shell也是个悲剧. 装了VS2010,可以了吧,总不能在不给力吧.但是有提示VS2010是打上s ...
- PHP : 数据库中int类型保存时间并通过年月份时分秒进行显示
1.表设计: 2.数据库操作页面:将时间戳插入到数据库中 我们到数据库中可以看到: 3.我们将数据进行显示: 页面结果:(二维数组) 4.以为用mysqli_fetch_all得到的是二维数组,那么我 ...