Colours–顏色庫,包含100種預定義的顏色和方法


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM