16進数のカラーコードをColor型に変換するメソッド

「#ffffff」「#789abc」みたいな16進数のカラーコードをUnityのColor型(RGB値を0〜1で指定)に変換したいとき。

カラーコードはstring型なので、RGB値それぞれに分割して16進数のintに直して256で割って…

と考えていたのですが、一発で16進数カラーコードをColor型に変換してくれるメソッドが存在しました。


string colorCode = "#ff8800";
Color color = default(Color);
if(ColorUtility.TryParseHtmlString(colorCode, out color)){
	// 変換できた時の処理(変換後のColorはcolorに代入されている)
}
else{
	// 変換に失敗した時の処理(colorにはデフォルトの値が入ったまま)
}

ColorUtility.TryParseHtmlString()というメソッドを利用すれば、簡単に16進数カラーコードをColor型に変換することができました。

コメント