LoginSignup
14
13

More than 5 years have passed since last update.

【Swift】UIColorからRGB値を逆変換で取得する

Posted at

はじめに

iOSアプリ開発で色を扱うときにUIColorを使いますが、RGB値からUIColorを生成することは簡単だと思いますが、UIColorからRGB値を取得するのに苦戦したので、その方法について書きます。

開発環境

Xcode 8.3.2
Swift 3.1

コード

CGColorを経由する方法

UIColorCGColorに変換することでRGBの値を取得することができます。


func convertToRGB(_ color: UIColor) -> (red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat) {

    let components = color.cgColor.components! // UIColorをCGColorに変換し、RGBとAlphaがそれぞれCGFloatで配列として取得できる
    return (red: components[0], green: components[1], blue: components[2], alpha: components[3])
}

使い方

let sampleColor = UIColor(red: 0.3, green: 0.2, blue: 0.5, alpha: 1)
convertToRGB(sampleColor).red // -> 0.3が取得できる
14
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
13