Files
note/Note/Color+Hex.swift
T
2026-07-12 16:01:08 +08:00

39 lines
845 B
Swift

//
// Color+Hex.swift
// Note
//
// Created by fish on 2026/7/12.
//
import SwiftUI
extension Color {
init(hex: String) {
let trimmed = hex.trimmingCharacters(in: CharacterSet.alphanumerics.inverted)
var int: UInt64 = 0
Scanner(string: trimmed).scanHexInt64(&int)
let r, g, b: UInt64
switch trimmed.count {
case 6:
r = (int >> 16) & 0xFF
g = (int >> 8) & 0xFF
b = int & 0xFF
case 8:
r = (int >> 16) & 0xFF
g = (int >> 8) & 0xFF
b = int & 0xFF
default:
r = 0
g = 0
b = 0
}
self.init(
.sRGB,
red: Double(r) / 255,
green: Double(g) / 255,
blue: Double(b) / 255,
opacity: 1
)
}
}