我正在编写一个修改游戏的工具,游戏使用浮点数来存储 RGB 数据(范围从 0.0 -> 1.0)。您最好如何建议我将浮点 RGB 数据转换为十六进制字符串/字节 RGB 数据?
问问题
5935 次
2 回答
12
var rgbString = string.Format("#{0}{1}{2}",
((int)(redValue * 255)).ToString("X2"),
((int)(greenValue * 255)).ToString("X2"),
((int)(blueValue * 255)).ToString("X2"));
编辑(也许更易读的代码):
var rgbString = string.Format("#{0:X2}{1:X2}{2:X2}",
(int)(redValue * 255),
(int)(greenValue * 255),
(int)(blueValue * 255));
于 2013-02-04T13:33:46.570 回答
1
float rVal = 0.5f;
float gVal = 0.94140625f;
float bVal = 0.21484375f;
byte rByte = (byte)(rVal * 256);
byte gByte = (byte)(gVal * 256);
byte bByte = (byte)(bVal * 256);
string rgb = rByte.ToString("X2") + gByte.ToString("X2") + bByte.ToString("X2");
结果:
80F137
于 2013-02-04T13:36:37.347 回答