RGB /十六进制颜色到十进制值

时间:2013-06-13 13:30:14

标签: c# vb.net winforms

假设我想将颜色#FFFFFF转换为十进制值:16777215,或RGB(255,255,255)转换为16777215,我该怎么做({{1}或C#)?
我必须将RGB / Hexdecimal颜色转换为Decimal,因为我想将颜色转换为Decimal,然后将Decimal转换为字节(VB.net并将字节写入memoryAdress,
此网站将任何颜色转换为十进制:http://www.mathsisfun.com/hexadecimal-decimal-colors.html
(我可以将SWF文件转换为FLA文件并查看函数,但我确信有更好的方法和更简单的方法)

4 个答案:

答案 0 :(得分:3)

您可以使用ColorTranslator

String knownColor = System.Drawing.ColorTranslator.ToHtml(Color.White);  //returns "White" which is reversible through FromHtml()

...或

String hexColor = System.Drawing.ColorTranslator.ToHtml(Color.FromArgb(255, 100, 100, 100));  //returns the hex value

逆向:

Color myColor = System.Drawing.ColorTranslator.FromHtml("FFFFFF");

要进入Int32,只需Convert

Int32 iColor = Convert.ToInt32("FFFFFF");

这为您提供了即将到来的选择...只需将它们组合起来就可以在任何方向上获得所需的结果。

答案 1 :(得分:2)

Dim decValue as String = Convert.ToInt32("FFFFFF", 16)

答案 2 :(得分:2)

我会选择

int.Parse("FFFFFF", System.Globalization.NumberStyles.HexNumber)

答案 3 :(得分:0)

RGB =(R * 65536)+(G * 256)+ B,(当R为红色,G为绿色且B为蓝色时)