RGBの(255, 255, 255)
みたいなのを6桁の16進数数字のカラーコードFFFFFF
にしたい。
※'#‘はいらない。
RGB値からHTMLカラーコードに変換する:humming bird
を参考。
拡張メソッド
// Slice. public static string Slice(this string aString, int num) { return aString.Substring(num, aString.Length - 1); } // カラーコード取得メソッド. public static string ToColorCode(this Color aColor) { var color32 = (Color32)aColor; int x = (((256 + ((int)color32.r) << 8) + ((int)color32.g) << 8) + ((int)color32.b)); return x.ToString("X").Slice(1); }
Slice(1)
は先頭文字を消す。さもなくば、1FF0000
とかになってしまう。
Color32
は255の数字だが、Color
は1がMAXの色なので工夫が必要。
使い方
Debug.Log(Color.red.ToColorCode()); Debug.Log(((Color)(new Color32(143, 100, 43, 255))).ToColorCode()); Debug.Log(((Color)(new Color32(255, 100, 0, 255))).ToColorCode());