2009-09-27 2 views
6

Я использую Expression Blend 3 и записываю некоторые из XAML вручную, в частности, значения цвета элементов управления.Почему ведущий «#FF» в шестнадцатеричных значениях цвета?

У меня есть список цветов RGB, уже преобразованных в шестнадцатеричный. Мне просто нужно вставить шестнадцатеричное значение в мой XAML.

Первоначально я вставил шестнадцатеричное значение из письма в соответствующие свойства. Прежде чем я смог закончить, Blend начал иметь подгонку, подчеркивая свойство цвета с помощью squiggle и всплывающей подсказки, в которой говорилось, что «Token is not valid». После некоторых исследований я обнаружил, что помещать знак фунта («#») перед шестнадцатеричным значением разрешил эту проблему.

В процессе исследования этой проблемы я начал рисовать цвета с помощью набора цветов в Blend. Я быстро нашел значения, которые Blend вставлял не только с значком фунта, но и с «FF». Значения, которые я вставлял, были действительными цветами в действительном шестнадцатеричном формате. Но когда вы вводите значения RGB в Blend и позволяете Blend вставлять шестнадцатеричное значение, я заметил, что все mycolors имеют префикс «#FF». Удаление #, как я уже указывал, сгенерировал ошибки, но удалив «FF», чтобы не иметь никакого эффекта.

В мире шестнадцатеричных цветов цвет # 5A7F39 действительно такой же, как # FF5A7F39? Почему FF? Это два разных шестнадцатеричных значения, верно? Но они кажутся одинаковыми на экране. Почему разница?

ответ

15

Это может быть альфа-компонент цвета, представляющий непрозрачность (00 -> прозрачный, FF -> непрозрачный).

MSDN, похоже, согласен с этим: http://msdn.microsoft.com/en-us/library/bb980062(VS.95).aspx

16-разрядное шестнадцатеричное, альфа - #AARRGGBB

+1

Я немного смущен тем, что, согласно статье, 1 шестнадцатеричная цифра представляет 8 бит, а 2 шестнадцатеричных цифры - 16 бит. – snarf

2

Я считаю, что ведущим FF является альфой. 255 (или FF) будет на 100% непрозрачным, а 00 будет прозрачным.

0

«extra» ff - значение альфа (степень прозрачности). Если у вас есть только три гексагона, значение альфа считается ff (нет прозрачности). Однако, если вы сравниваете # 335A7F39 и # FF5A7F39, вы должны увидеть разницу

Смежные вопросы