// // StringExtensions.swift // lottie-swift // // Created by Brandon Withrow on 1/25/19. // import Foundation import CoreGraphics extension String { func hexColorComponents() -> (red: CGFloat, green: CGFloat, blue: CGFloat) { var cString:String = trimmingCharacters(in: .whitespacesAndNewlines).uppercased() if (cString.hasPrefix("#")) { cString.remove(at: cString.startIndex) } if ((cString.count) != 6) { return (red: 0, green: 0, blue: 0) } var rgbValue:UInt64 = 0 Scanner(string: cString).scanHexInt64(&rgbValue) return (red: CGFloat((rgbValue & 0xFF0000) >> 16) / 255.0, green: CGFloat((rgbValue & 0x00FF00) >> 8) / 255.0, blue: CGFloat(rgbValue & 0x0000FF) / 255.0) } }