41 lines
966 B
Swift
41 lines
966 B
Swift
//
|
|
// ColorExtension.swift
|
|
// SodaLive
|
|
//
|
|
// Created by klaus on 2023/08/09.
|
|
//
|
|
// https://seons-dev.tistory.com/174
|
|
//
|
|
|
|
import SwiftUI
|
|
|
|
extension Color {
|
|
init(hex: String) {
|
|
let scanner = Scanner(string: hex)
|
|
_ = scanner.scanString("#")
|
|
|
|
var rgb: UInt64 = 0
|
|
scanner.scanHexInt64(&rgb)
|
|
|
|
let r = Double((rgb >> 16) & 0xFF) / 255.0
|
|
let g = Double((rgb >> 8) & 0xFF) / 255.0
|
|
let b = Double((rgb >> 0) & 0xFF) / 255.0
|
|
self.init(red: r, green: g, blue: b)
|
|
}
|
|
}
|
|
|
|
extension UIColor {
|
|
convenience init(hex: String, alpha: CGFloat = 1.0) {
|
|
let scanner = Scanner(string: hex)
|
|
_ = scanner.scanString("#")
|
|
|
|
var rgb: UInt64 = 0
|
|
scanner.scanHexInt64(&rgb)
|
|
|
|
let r = Double((rgb >> 16) & 0xFF) / 255.0
|
|
let g = Double((rgb >> 8) & 0xFF) / 255.0
|
|
let b = Double((rgb >> 0) & 0xFF) / 255.0
|
|
self.init(red: r, green: g, blue: b, alpha: alpha)
|
|
}
|
|
}
|