RGB/十六进制颜色到十进制值
本文关键字:十进制 颜色 十六进制 RGB | 更新日期: 2023-09-27 18:18:27
假设我想将颜色#FFFFFF
转换为十进制值:16777215
,或RGB(255,255,255)
到16777215
,我怎么能做到(C#
或VB.net
)?
我必须将RGB/十六进制颜色转换为十进制,因为我想将颜色转换为十进制,然后将十进制转换为字节(BitConverter.GetBytes(DecimalValue)
和写入字节到memoryress,
这个网站将任何颜色转换为十进制:http://www.mathsisfun.com/hexadecimal-decimal-colors.html
(我可以将SWF文件转换为FLA文件,然后看看函数,但我确信有更好的方法和更简单的方法)
我会选择
int.Parse("FFFFFF", System.Globalization.NumberStyles.HexNumber)
您可以使用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");
这给你来和去的选项…只要将它们结合起来,就可以在任何方向上获得所需的结果。
Dim decValue as String = Convert.ToInt32("FFFFFF", 16)
RGB = (R*65536)+(G*256)+B, (R为RED, G为GREEN, B为BLUE)