1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- //
- // ColorHelper.swift
- // compdfkit_flutter
- //
- // Created by Xiaolong Liu on 2024/7/15.
- //
- import UIKit
- class ColorHelper {
- static func colorWithHexString (hex:String) -> UIColor {
- var cString:String = hex.trimmingCharacters(in: .whitespacesAndNewlines).uppercased()
- if (cString.hasPrefix("#")) {
- cString.remove(at: cString.startIndex)
- }
- if ((cString.count) != 6) {
- return UIColor.gray
- }
- var rgbValue:UInt64 = 0
- Scanner(string: cString).scanHexInt64(&rgbValue)
- return UIColor(
- red: CGFloat((rgbValue & 0xFF0000) >> 16) / 255.0,
- green: CGFloat((rgbValue & 0x00FF00) >> 8) / 255.0,
- blue: CGFloat(rgbValue & 0x0000FF) / 255.0,
- alpha: CGFloat(1.0)
- )
- }
- }
- extension UIColor {
- func toHexString() -> String? {
- var red: CGFloat = 0
- var green: CGFloat = 0
- var blue: CGFloat = 0
- var alpha: CGFloat = 0
- guard self.getRed(&red, green: &green, blue: &blue, alpha: &alpha) else {
- return nil
- }
- let rgb: Int = (Int)(red * 255) << 16 | (Int)(green * 255) << 8 | (Int)(blue * 255) << 0
- return String(format: "#%06x", rgb)
- }
- }
|