2011-11-04 13 views
9

Estoy creando mi propio esquema de color para texto Sublime basado en un tema de Visual Studio.Archivo .vssettings (Configuración de Visual Studio) Formato de color

El tema de Visual Studio tiene el primer plano y el fondo definidos, pero no están en el triplete RGB estándar. No sé lo que significa este número, y me preguntaba cómo podría convertirlo en un triplete RGB (es decir, #FFFFFF) para usar en Sublime Text.

muestra:

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

He intentado buscar aquí y Google, pero al parecer no puedo tener en mis términos de búsqueda correctos para encontrar las respuestas correctas.

+0

¿puede ser rgba? – yosukesabai

+0

No lo sé, esto no funciona: http://hex2rgba.devoth.com/ –

+1

FYI 0x02000000 significa "Predeterminado" – banging

Respuesta

5

Estos parecen, de un vistazo (y con algunos conocimientos de cómo MS le gusta manejar los colores) que sean DWORD ARGB o XRGB en formato hexadecimal. Dependiendo de lo que estés haciendo, sin embargo, podrían ser A/XBGR.

Es muy probable que los dos primeros caracteres sean alfa, luego rojo, verde y azul. Esa es una forma bastante común de diseñar colores, ya que encaja perfectamente en un registro de memoria y combina datos de textura para algunos formatos.

Sin embargo, algunos lugares prefieren invertir eso, que coincide con otros formatos de textura. El A/X permanece al comienzo, luego azul, verde y rojo.

Esto debería ser fácil de probar, proporcionando 0x00FF0000. Si es azul, el BGR, si es rojo, RGB.

Es posible que puedan estar utilizando el primer canal/byte como algo distinto de alfa. El empaquetamiento de datos en el canal alfa de una textura de 3 canales no es infrecuente. Sin embargo, solo uno de los colores es 0x02 ..., el resto son todos 0x00 ..., así que no estaría sucediendo (también hay un color de 3.5 bytes, así que tal vez errores tipográficos).

No necesita hacer ninguna conversión con estos, ya que ya son hexadecimales (código hexadecimal real, no el material web #...). Para "convertir" un triplete hexagonal web, simplemente elimine el # y escriba 0x00 y debería estar bien. Todos los demás caracteres permanecen iguales (el caso no debería importar, aunque a algunas personas les gusta mayúsculas como procedimiento).

9

Al igual que un FYI, el archivo vsettings usa BGR no RGB

+0

Tu pequeño "FYI" valía mucho más para mí que "podría ser RGB, podría ser BGR, podría ser A/XBGR o ARGB, simplemente pruébelo y vea ... "(sin ofender a @ssube, tenía buenas intenciones, pero no me gustan las respuestas que piden en la oscuridad) – MarioDS

+0

¿Las versiones anteriores de Visual Studio usaban? RGB? La razón por la que pregunto es que encontré una publicación de blog sobre un archivo de ajustes de tema oscuro para SSMS 2012 (basado en el shell VS 2010). Cuando importé las configuraciones en SSMS 2016 (basado en el shell VS 2015), los componentes R y B parecían invertidos, en comparación con los valores originales mencionados en el blog. Así que me preguntaba si el formato de los colores en el archivo vssettings cambió entre VS 2010 y 2015. –

Cuestiones relacionadas