をフォーマット進するための「X」を使用して、私はこれは私に例外を与えるHexConverter - Unify Community WikiFormatException
string hex = color.r.ToString("X2") + color.g.ToString("X2") + color.b.ToString("X2");
から次のコードを取りましたエラー。浮動小数点数の書式設定のために働いているのは"F
です。
宣言に移動は、アセンブリブラウザでmscorlib.dll/System/Single.ToString(string)を表示します。
グーグルモノデベロッパーの文字列形式の16進数または同様の検索文字列は、MonoDevelopの制限に関して興味深いものを表示しませんでした。
私は簡単な16進数の変換を得る前に、何かを準備し、初期化しますか?
[更新] 色はユニティでの構造体である:だから私はColor
はそのを定義しているという事実を逃した
int r = (int)(color.r * 256);
int g = (int)(color.g * 256);
int b = (int)(color.b * 256);
string hex = string.Format ("{0:X2}{1:X2}{2:X2}", r, g, b);
:
public struct Color
{
public float r;
public float g;
public float b;
// ...
は私が最終的に使用して作業それを得たDTBの答えを撮影コンポーネントはint
の代わりにfloat
となり、整数型のdtbが言及しています。
[更新-2] よりエレガントな解決策:MSDNから
Color32 color32 = color;
string hex = color32.r.ToString ("X2") + color32.g.ToString ("X2") + color32.b.ToString ("X2");
見ることができますか?それともwikiを直接作りますか? – emd
シンプルなテストとして、私は 'System.Drawing.Color.White.R.ToString(" X2 ")'を使い、Stringとして 'FF'を返しました。だから、あなたの例では「色」は何ですか? – DonBoitnott
@emd Unityの 'Color'構造体です。 wikiでは 'Color32'を使います。これはdtbの「Single」型に関する記述との組み合わせのポイントでした。ありがとう:-) – Kay