[.NET] Color -> #ffffff

Vodnik

как перевести цвет типа Color(Green) в строку вида (#00ff00) ?
ToArgb возвращает Int32...

margadon

И что? Нельзя что ли масками вычленить оттуда компоненты?

Vodnik

да это не проблема, можно и не вычленять, но как перевсти например byte в 16-ичный вид?

maggi14

Type cast?

Vodnik

нет, пример 90 (dec) -> 5A (hex)

maggi14

Чем тебя itoa не устраивает?

evgen5555

string strSuperColorString = cSuperNeededColor.ToArgb.ToString("X");

evgen5555

Можно для пущей страшности добавить ....ToString.ToString.ToString.ToString. C# - отличный язык. Только тормозной слегка.

Dasar

string.Format("#{0:x02}{1:x02}{2:x02}", color.R, color.G, color.B);

rosali

Ладно, я понимаю можно стандартных библиотек не знать, но неужели трудно написать
<pre><font class="small">code:<hr>
void byte2hex(unsigned char x, char str[2])
{
char digits[] = {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
str[0] = digits[x >> 4];
str[1] = digits[x & 0xFF];
}



Ну или как нам на С#...

Vodnik


string.Format("#{0:x02}{1:x02}{2:x02}", color.R, color.G, color.B);


красивее

rosali

красивее

По мне так эту штуку так или иначе надо каким-нибудь словом назвать, скажем color2hex, а когда уже назвал, то какая нафиг разница чего там внутри...
И вообще если в каждой фигне красоту искать, можно все свое время в форуме просадить

evgen5555

И вообще если в каждой фигне красоту искать, можно все свое время в форуме просадить
Если ты свой код называешь фигней, то программер, по-моему, из тебя плохой...

rosali

"Фигня" - это не значит что-то плохое. "фигня" = мелочи. Что странного в том, что в программах бывают мелочи?

evgen5555

Именно в мелочах кроются очень серьезные недочеты, которые, к тому же, будет весьма трудно обнаружить другим лицам, если код будет нечитабельным.

bleyman

str[1] = digits[x & 0xFF];

0x0F
=)

rosali

Ну да
Оставить комментарий
Имя или ник:
Комментарий: