読者です 読者をやめる 読者になる 読者になる

万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

NGUIとかで使うカラーコード C# Unity

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());