js 代码解读复制代码extension Color {
init(hex: String) {
let hex = hex.trimmingCharacters(in: .whitespacesAndNewlines).replacingOccurrences(of: "#", with: "")
var rgbValue: UInt64 = 0
Scanner(string: hex).scanHexInt64(&rgbValue)
let a, r, g, b: UInt64
switch hex.count {
case 8: // 包含 Alpha (如 #FFFF9CD4)
a = (rgbValue >> 24) & 0xFF
r = (rgbValue >> 16) & 0xFF
g = (rgbValue >> 8) & 0xFF
b = rgbValue & 0xFF
case 6: // 不包含 Alpha (如 #FF9CD4)
a = 255
r = (rgbValue >> 16) & 0xFF
g = (rgbValue >> 8) & 0xFF
b = rgbValue & 0xFF
default:
a = 255
r = 0
g = 0
b = 0
}
self.init(
.sRGB,
red: Double(r) / 255,
green: Double(g) / 255,
blue: Double(b) / 255,
opacity: Double(a) / 255
)
}
}
使用 Color(hex: "FFFF9CD4")
评论记录:
回复评论: