Skip to content

raymondjavaxx/ColorToolbox

Repository files navigation

ColorToolbox

Swift color utilities for UIKit, AppKit and SwiftUI.

Installation

Swift Package Manager

Add the following dependency to your Package.swift file:

.package(url: "https://github.com/raymondjavaxx/ColorToolbox.git", from: "1.0.1")

CocoaPods

Add the following line to your Podfile:

pod 'ColorToolbox', '~> 1.0'

Usage

ColorToolbox is implemented as a set of extensions on UIColor, NSColor and Color (SwiftUI). All utility methods and properties are available on all supported platforms.

Converting from and to hex string

To create a color from a hex string, use the init(hex:) initializer:

import ColorToolbox

// UIKit
let color = UIColor(hex: "#ff0000")

// AppKit
let color = NSColor(hex: "#ff0000")

// SwiftUI
let color = Color(hex: "#ff0000")

To convert a color to hex, use the toHex() method:

let hexString = color.toHex()

Calculating the relative luminance

let color: UIColor = .red
print(color.relativeLuminance) // 0.2126

Calculating WCAG contrast ratio

let color1 = ...
let color2 = ...

let contrastRatio = color1.contrastRatio(to: color2)

Lightening and darkening colors

let lighterColor = color.lightening(by: 0.2)
let darkerColor = color.darkening(by: 0.2)

License

ColorToolbox is available under the MIT license. See the LICENSE file for more info.