Swift UIColor情報をJSONで保存したい為、RGB情報にする

UIColor情報をJSONで保存したい為、RGB情報にする

コード

class ColorRGBA: Codable {
    var red: Float = 0.0
    var green: Float = 0.0
    var blue: Float = 0.0
    var alpha: Float = 0.0
    
    init() {
    }
    
    init(color: UIColor) {
        if let colorcomponents = color.cgColor.components {
            self.red = Float(colorcomponents[0])
            self.green = Float(colorcomponents[1])
            self.blue = Float(colorcomponents[2])
            self.alpha = Float(colorcomponents[3])
        }
    }
}

確認中というか注意

UIColorがUIExtendedGrayColorSpaceだと、OutOfIndexになる
上記コードを使用しているアプリで検証中

取得系別記事「Swift その色が取得されるんだ。。。

Swift

Posted by shi-n