我想使用此代碼的RGB值轉換爲十六進制格式在C#:轉換RGB int值的十六進制格式在C#前綴0x
int ColorValue = Color.FromName("mycolor").ToArgb();
string ColorHex = string.Format("{0:x6}", ColorValue);
的colorHex
值喜歡這種格式ffffff00
,但我需要像這樣改變它:0x0000
.how我能做到嗎?
致以問候
我在c#表單應用程序中很新。
我想使用此代碼的RGB值轉換爲十六進制格式在C#:轉換RGB int值的十六進制格式在C#前綴0x
int ColorValue = Color.FromName("mycolor").ToArgb();
string ColorHex = string.Format("{0:x6}", ColorValue);
的colorHex
值喜歡這種格式ffffff00
,但我需要像這樣改變它:0x0000
.how我能做到嗎?
致以問候
我在c#表單應用程序中很新。
只需自己添加0x
部分格式字符串:
// Local variable names to match normal conventions.
// Although Color doesn't have ToRgb, we can just mask off the top 8 bits,
// leaving RGB in the bottom 24 bits.
int colorValue = Color.FromName("mycolor").ToArgb() & 0xffffff;
string colorHex = string.Format("0x{0:x6}", colorValue);
如果你想資本十六進制值,而不是較低的情況下,使用"0x{0:X6}"
代替。
如果只想定義顏色的RGB部分的3個字節你可以試試這個
Color c = Color.FromName("mycolor");
int ColorValue = (c.R * 65536) + (c.G * 256) + c.B;
string ColorHex = string.Format("0x{0:X6}", ColorValue);
它的作品謝謝你 – 2014-10-02 12:23:04
感謝喬恩。但我得到這個錯誤:{System.FormatException:輸入字符串的不正確格式。 at System.Text.StringBuilder.AppendFormat(IFormatProvider provider,String format,Object [] args) – 2014-10-02 12:19:34
@EA:呃,在哪裏?這在我提供的代碼中不會發生。如果你還希望它是大寫(這是史蒂夫的答案),你應該指定... – 2014-10-02 12:27:56
這是我的錯,但你的方法給了我這個結果:0xff008080 – 2014-10-02 12:42:38