.vssettings (Настройки Visual Studio) Цветовой формат

Я создаю собственную цветовую схему для текста Sublime, основанного на теме Visual Studio.

Тема Visual Studio имеет передний и задний фон, но они не входят в стандартный триггер RGB. Я не знаю, что это означает, и мне было интересно, как я могу преобразовать его в триплет RGB (т.е. #FFFFFF) для использования в Sublime Text.

Образец:

<Item Name="Comment" Foreground="0x007B7466" Background="0x02000000" BoldFont="No"/>
<Item Name="Plain Text" Foreground="0x00F3F2F1" Background="0x002A2822" BoldFont="No"/>
<Item Name="Selected Text" Foreground="0x00FFFFFF" Background="0x0064614F" BoldFont="No"/>

Я пробовал искать здесь и Google, но, видимо, я не могу правильно найти условия поиска, чтобы найти правильные ответы.

Ответ 1

Они кажутся, с первого взгляда (и с некоторыми знаниями о том, как MS любит обрабатывать цвета), быть ARGB или XRGB DWORDs в шестнадцатеричной форме. В зависимости от того, что вы делаете, они могут быть A/XBGR.

Скорее всего, первые два символа - альфа, затем красный, зеленый и синий. Это довольно стандартный способ выделения цветов, поскольку он аккуратно вписывается в регистр памяти и сопоставляет данные текстуры для нескольких форматов.

Тем не менее, некоторые места хотели бы отменить это, что соответствует другим форматам текстур. A/X остается в начале, затем синим, зеленым и красным.

Это должно быть легко проверить, предоставляя 0x00FF0000. Если синий, BGR, если красный, RGB.

Возможно, они могут использовать первый канал/байт как нечто иное, чем альфа. Упаковка данных в альфа-канал 3-канальной текстуры не является чем-то необычным. Тем не менее, только один из цветов - 0x02..., остальные - все 0x00..., поэтому я бы этого не делал (там тоже 3,5-байтовый цвет, так что, возможно, опечатки).

Вам не нужно делать какие-либо преобразования с ними, так как они уже являются шестнадцатеричными (фактический код hex, а не #... веб-материал). Чтобы "преобразовать" веб-шестнадцатеричный триплет, просто удалите # и prepend 0x00 и вы должны быть хорошими. Все остальные символы остаются неизменными (случай не имеет значения, хотя некоторые люди предпочитают прописные буквы как процедуру).

Ответ 2

Так же, как FYI, файл vsettings использует BGR not RGB