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

简介

Colours–颜色库,包含各种100种预定义的颜色和方法,可以简化颜色相关的开发工作.

最新示例: 点击下载

快速入门

安装

通过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_R
  • kColoursRGBA_G
  • kColoursRGBA_B
  • kColoursRGBA_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_L
  • kColoursCIE_A
  • kColoursCIE_B
  • kColoursCIE_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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏DannyHoo的专栏

lable在单元格上得自适应

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

902
来自专栏谈补锅

Quartz2D复习(二) --- 手势解锁

这次支付宝手机客户端升级,把手势解锁那个功能去掉了,引起很多人的抱怨,觉得少了手势解锁的保护,个人信息容易泄漏了。。。

844
来自专栏Python疯子

UITableViewCell自适应网络不规则图片和文字组合的高度

有时我们会需要对cell的图片和文字进行显示并完美自适配其大小,下面用我有限的知识做了个适配,看着好像还能用,哈哈 直接上code 001 在tablev...

1272
来自专栏陈满iOS

iOS开发验证:设置UITableView的Footer视图透明

其实,上述的方法可以将视图背景改成非透明色,比如红色。但改成透明的时候,还是会显示灰色,不是真正的透明。

641
来自专栏DannyHoo的专栏

设置UILabel的行间距

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

1091
来自专栏陈满iOS

iOS开发小技巧:根据文本,字体,计算UILabel高度及宽度

关于boundingRectWithSize,系统API有几个类的相关方法。搜索官方文档,可见如下:

1791
来自专栏Alice

demo1 动态显示view或弹框 动态隐藏view或弹框

有一个弹框,弹框上边有一个关闭按钮,点击按钮,可以关闭弹框。点击弹框的周围区域也可以关闭按钮。 点击上边的隐藏弹框也可以关闭按钮。   在实现功能的基础上,以...

2107
来自专栏移动端周边技术扩展

UIRefreshControl

1161
来自专栏Alice

demo1 动态显示view或弹框 动态隐藏view或弹框

实现界面如上所示: 有一个弹框,弹框上边有一个关闭按钮,点击按钮,可以关闭弹框。点击弹框的周围区域也可以关闭按钮。 点击上边的隐藏弹框也可以关闭按钮。 在实现...

1985
来自专栏DannyHoo的专栏

cell高度的缓存1——利用字典进行缓存

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

961

扫码关注云+社区