【Unity】カラーコードとColorの相互変換

Unity

はじめに

Unityで色を扱う場合、Color で指定出来ますが、色見本などからコピペしたい場合は、カラーコードを Color へ変換が必要になります。

本記事では、カラーコード → Color 、また Color → カラーコードへの相互変換の方法を紹介します。

カラーコードを調べるときには、以下のサイトをよく使わせてもらっています。

検証環境

Unity
2022.3.12f1

変換方法

Color → カラーコード

まずは Color をカラーコードに変換する方法です。

ColorUtility というクラスの ToHtmlStringRGB を使います。

	void Start()
	{
		Color color = Color.red;
		string colorCode = UnityEngine.ColorUtility.ToHtmlStringRGB(color);
		Debug.Log($"カラーコード : [{colorCode}]");
	}
カラーコードの出力結果

カラーコード → Color

次にカラーコードを Color に変換する方法です。

こちらも ColorUtility クラスの TryParseHtmlString を使います。
Color に変換出来ない文字列を入力する事も出来てしまうため、
Color は out で受け取り、返り値で変換出来たかを bool で受け取れます。

	void Start()
	{
		string htmlString = "#FF0000";

		Color color;
		if (UnityEngine.ColorUtility.TryParseHtmlString(htmlString, out color))
		{
			Debug.Log($"Color : [{color}]");
		}
		else
		{
			Debug.Log($"{htmlString}はColorに変換出来ません");
		}
	}

コメント