Colours–顏色庫,包含100種預定義的顏色和方法,colours100種
簡介
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->1UIColor *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