Как сериализовать объект System.Windows.Media.Color в строку sRGB?

Это из-за этой строки:

printf ("Hi %s,</br />", $name);

Вы не должны печатать / эхо ничего, прежде чем отправлять заголовки.

15
задан dthrasher 23 July 2010 в 18:23
поделиться

3 ответа

Если вы создаете свои цвета с помощью Color.FromRgb или Color.FromArgb вместо FromScRgb, вы должны получить результат в виде шестнадцатеричной строки от ToString.

Если вы хотите сделать это вручную

string.Format("#{0:X2}{1:X2}{2:X2}{3:X2}", c.A, c.R, c.G, c.B);

Вы можете использовать int.Parse (, NumberStyles.HexNumber), чтобы пойти другим путем.

Обратите внимание, что sRGB и scRGB относятся к разным цветовым пространствам, убедитесь, что вы используете тот, который вам нужен.

19
ответ дан 1 December 2019 в 01:38
поделиться

Вы можете получить значения A, R, G и B из экземпляра Color как байты, поэтому вам просто нужно преобразовать байты в шестнадцатеричные и объединить шестнадцатеричные значения в виде строк.

байта [] в шестнадцатеричную строку

0
ответ дан 1 December 2019 в 01:38
поделиться

Этот ответ предназначен для цветов GDI, а не для WPF, поэтому может не сильно помочь.

Вы можете получить цветовую строку HTML (и обратно), как это

System.Drawing.Color c = System.Drawing.ColorTranslator.FromHtml("#F5F7F8");
String strHtmlColor = System.Drawing.ColorTranslator.ToHtml(c);

здесь - это документация MSDN.

1
ответ дан 1 December 2019 в 01:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: