文档章节

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

ios122
 ios122
发布于 2015/09/01 09:41
字数 965
阅读 49
收藏 1

ScreenShot

简介

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_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

Analagous

ColorSchemeMonochromatic

Monochromatic

ColorSchemeTriad

Triad

ColorSchemeComplementary

Complementary


© 著作权归作者所有

ios122
粉丝 72
博文 76
码字总数 132179
作品 3
东城
程序员
私信 提问
Codeforces 620E New Year Tree dfs序+线段树+状态压缩

E. New Year Tree 3 seconds 256 megabytes standard input standard output The New Year holidays are over, but Resha doesn't want to throw away the New Year tree. He invited his be......

ProLightsfxjh
2017/10/13
0
0
Codeforces Round 472-2A题解报告

Overlooking the captivating blend of myriads of vernal hues, Arkady the painter lays out a long, long canvas. Arkady has a sufficiently large amount of paint of three colours: c......

海天一树X
2018/03/26
0
0
图片和图形之使用Palette API选择颜色(5)

原文 概要 良好的视觉设计对于成功的应用程序至关重要,色彩方案是设计的主要组成部分。调色板库是一个 支持库 ,可从图像中提取突出的颜色,帮助您创建视觉上吸引人的应用程序。 您可以使用...

lichong951
2018/05/25
0
0
HDU 6228/2017ACM/ICPC 沈阳 Tree 【DFS】

Tree Time Limit: 2000/1000 MS (Java/Others) Memory Limit:262144/262144 K (Java/Others) Total Submission(s): 19 Accepted Submission(s): 10 Problem Description Consider a un-roote......

my_sunshine26
2017/11/05
0
0
PyQt5教程(九)——绘图

原文:http://zetcode.com/gui/pyqt5/painting/ PyQt5的绘图系统可用于渲染矢量图、图像和文本。如果想改变或增强已有的控件,或者想从头创建一个自定义控件时,我们就需要在程序中进行图形的...

pseudo
2015/12/23
2.1K
0

没有更多内容

加载失败,请刷新页面

加载更多

Gradle 的项目导入到 IntelliJ 后子项目源代码不能导入

在一个 Gradle 项目中,有若干子项目。 当 Gradle 到如后,子项目不能被 IntelliJ 识别代码。 如下图的这个代码就没有被自动识别。 这个有可能是因为你的这个子项目没有被添加到父项目中。 ...

honeymoose
22分钟前
3
0
苹果cms下载地址及模板地址

https://github.com/magicblack/maccms10 程序下载: https://www.lanzous.com/b204882 教程下载: https://www.lanzous.com/b256378 模板下载: https://www.lanzous.com/b355667 插件下载:......

chenhongjiang
22分钟前
3
0
Java中使用HttpPost上传文件以及HttpGet进行API请求(包含HttpPost上传文件)

一、HttpPost上传文件 public static String getSuffix(final MultipartFile file){ if(file == null || file.getSize() == 0){ return null; } String......

codeobj
23分钟前
3
0
在Word中怎样批量删除空行,这些点主要注意

在工作中经常接触的办公软件就是Word了,熟练使用Word中的技能是准时下班的保证。这就要求我们对Word中的各项技能都熟练于心,很多朋友诉苦Word中的排版不熟悉,每次写一篇文章排版都要花费很...

干货趣分享
29分钟前
2
0
终端-Linux命令之非交互SSH密码验证-Sshpass

> Sshpass是使用SSH所谓的“交互式键盘密码身份验证”以非交互方式执行密码身份验证的工具 通俗来说就是 使用ssh密码登录 是需要在连接时手动输入密码的,没办法明文连接,如下图,需要交互的...

极客收藏夹
33分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部