Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/raymondjavaxx/colortoolbox

Swift color utilities
https://github.com/raymondjavaxx/colortoolbox

appkit color ios swift swiftui uikit

Last synced: 22 days ago
JSON representation

Swift color utilities

Awesome Lists containing this project

README

        

# ColorToolbox
[![](https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2Fraymondjavaxx%2FColorToolbox%2Fbadge%3Ftype%3Dswift-versions)](https://swiftpackageindex.com/raymondjavaxx/ColorToolbox)
[![](https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2Fraymondjavaxx%2FColorToolbox%2Fbadge%3Ftype%3Dplatforms)](https://swiftpackageindex.com/raymondjavaxx/ColorToolbox)

Swift color utilities for UIKit, AppKit and SwiftUI.

## Installation
## Swift Package Manager

Add the following dependency to your `Package.swift` file:

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

## CocoaPods

Add the following line to your `Podfile`:

```ruby
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:

```swift
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:

```swift
let hexString = color.toHex()
```

### Calculating the relative luminance

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

### Calculating WCAG contrast ratio

```swift
let color1 = ...
let color2 = ...

let contrastRatio = color1.contrastRatio(to: color2)
```

### Lightening and darkening colors

```swift
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](LICENSE) file for more info.