加载和保存颜色值

use*_*762 2 c# xna colors

我正在尝试使用 ReadLine 从文本文件加载颜色值。使用 WriteLine 保存时,它看起来像这样 [Color: R=53, G=40, B=121, A=255, PackedValue=4286130229]。

Color color = Color.Black;
stream.WriteLine(color.ToString());
Run Code Online (Sandbox Code Playgroud)

然后我想它必须以某种方式进行转换,无法弄清楚。颜色 ???流.ReadLine();

Don*_*ott 6

如果您使用文本存储介质,请使用 HTML 编码:

Color myColor = Color.FromArgb(255, 255, 50, 25);
String strColor = ColorTranslator.ToHtml(myColor);
//write strColor to text file...
String strColor = "";  //read in the color from text file
Color c = ColorTranslator.FromHtml(strColor);
Run Code Online (Sandbox Code Playgroud)

这样,您将存储一个文本字符串,可以是十六进制(#FFFFFF)或已知的颜色名称(黑色)。该方法根据您的Color对象是已知的还是自定义的 RGB 自动进行选择。不管怎样,它应该能很好地来回翻译。