zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    oracle的安装与plsql的环境配置
    Working with MSDTC
    soapui-java.lang.Exception Failed to load url
    Oracle 一个owner访问另一个owner的table,不加owner
    Call API relation to TLS 1.2
    Call API HTTP header Authorization: Basic
    VS2008 .csproj cannot be opened.The project type is not supported by this installat
    The changes couldn't be completed.Please reboot your computer and try again.
    Create DB Table View Procedure
    DB Change
  • 原文地址:https://www.cnblogs.com/ios122/p/4774398.html
Copyright © 2011-2022 走看看