2011-11-04 20 views
9

Tworzę własny schemat kolorów dla tekstu wysublimowanego na podstawie kompozycji Visual Studio.Plik .vssettings (Ustawienia Visual Studio) Format koloru

Motyw Visual Studio ma zdefiniowane tło i tło, ale nie ma ich w standardowym tryplecie RGB. Nie wiem, co oznacza ta liczba, i zastanawiałem się, w jaki sposób mogę ją przekształcić w tryplet RGB (np. #FFFFFF) do użycia w Sublime Text.

Próbka:

<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"/> 

Próbowałem wyszukać w google i tutaj, ale widocznie nie mogę dostać moje warunki wyszukiwania prawidłowych znaleźć właściwe odpowiedzi.

+0

czy to może być rgba? – yosukesabai

+0

Nie wiem, to nie działa: http://hex2rgba.devoth.com/ –

+1

FYI 0x02000000 oznacza "Default" – banging

Odpowiedz

5

Pojawiają się one na pierwszy rzut oka (i z pewną wiedzą na temat tego, w jaki sposób MS lubi manipulować kolorami), aby uzyskać DWORDy ARGB lub XRGB w formie szesnastkowej. W zależności od tego, co robisz, mogą to być A/XBGR.

Najprawdopodobniej pierwsze dwa znaki to alfabet, a następnie czerwony, zielony i niebieski. To dość standardowy sposób układania kolorów, ponieważ idealnie pasuje do rejestru pamięci i dopasowuje dane tekstury do kilku formatów.

Jednak niektóre miejsca lubią to odwracać, co pasuje do innych formatów tekstur. A/X pozostaje na starcie, następnie niebieski, zielony i czerwony.

To powinno być łatwe do przetestowania przez podanie wartości 0x00FF0000. Jeśli niebieski, BGR, jeśli czerwony, RGB.

Jest możliwe, że mogą używać pierwszego kanału/bajtu jako czegoś innego niż alfa. Pakowanie danych do kanału alfa struktury 3-kanałowej nie jest rzadkością. Jednak tylko jeden z kolorów to 0x02 ..., reszta to 0x00 ..., więc nie chciałbym, żeby to się działo (jest tam także kolor 3,5-bajtowy, więc może literówki).

Nie musisz wykonywać żadnej konwersji z tymi, ponieważ są one już w postaci heksadecymalnej (kod rzeczywisty, a nie #...). Aby "przekonwertować" trójkę sieci Web, po prostu usuń # i przedkładaj 0x00 i powinieneś być dobry. Wszystkie inne postacie pozostają takie same (sprawa nie powinna mieć znaczenia, chociaż niektórzy ludzie lubią duże litery jako procedurę).

9

Tak jak FYI plik vsettings używa BGR nie RGB

+0

Twój mały "FYI" był dla mnie o wiele wart więcej niż "mógłby być RGB, może być BGR, może być A/XBGR lub ARGB, po prostu przetestuj go i zobacz .. "(bez obrazy dla @ssube, miał na myśli, ale nie lubię odpowiedzi w ciemności) – MarioDS

+0

Czy wcześniejsze wersje Visual Studio używały RGB? Powodem, dla którego pytam, jest to, że znalazłem wpis na blogu na temat pliku ciemnych motywów vssettings dla SSMS 2012 (na podstawie powłoki VS 2010). Kiedy zaimportowałem ustawienia do SSMS 2016 (na podstawie powłoki VS 2015), komponenty R i B pojawiły się odwrotnie, w porównaniu do oryginalnych wartości wymienionych na blogu. Tak więc zastanawiałem się, czy format kolorów w pliku vssettings zmienił się między VS 2010 i 2015. –

Powiązane problemy