簡介
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





