2009-09-27 18 views
6

Estoy usando Expression Blend 3 y escribiendo algunos de los XAML a mano, específicamente los valores de color de los controles.¿Por qué el "#FF" inicial en valores de color hexadecimales?

Tengo una lista de colores RGB ya convertidos a hexadecimal. Solo necesito insertar el valor hexadecimal en mi XAML.

Inicialmente, pegué el valor hexadecimal de un correo electrónico en las propiedades adecuadas. Antes de que pudiera terminar, Blend comenzó a tener un ataque, subrayando la propiedad de color con un garabato y una información sobre herramientas que me decía "El token no es válido". Después de algunas investigaciones, encontré que colocar un signo de libra ("#") delante del valor hexadecimal resolvió este problema.

En el proceso de investigación de este problema, comencé a cambiar los colores a través del selector de color en Blend. Rápidamente encontré que los valores que Blend estaba insertando no solo comenzaban con el signo de libra, sino también con "FF". Los valores que estaba pegando eran colores válidos en formato hexadecimal válido. Pero al ingresar los valores RGB en Blend y dejar que Blend inserte el valor hexadecimal, noté que todas las mycolors tenían el prefijo "#FF". Al eliminar el #, como ya señalé, se generaron errores, pero al eliminar el "FF" se crearon errores para que no tuvieran ningún efecto.

En el mundo de colores hexadecimales, ¿es el color # 5A7F39 realmente el mismo que el # FF5A7F39? ¿Por qué el FF? Son dos valores hexadecimales diferentes, ¿no? Pero aparecen idénticos en la pantalla. ¿Por qué la diferencia?

Respuesta

15

Esa puede ser la componente alfa del color, que representa la opacidad (00 -> transparente, FF -> opaca).

MSDN parece estar de acuerdo con esto: http://msdn.microsoft.com/en-us/library/bb980062(VS.95).aspx

16-bit hexadecimal, alfa - #AARRGGBB

+1

Estoy un poco confundido por cómo, según el artículo, 1 dígito hexadecimal representa 8 bits y 2 dígitos hexadecimales representan 16 bits. – snarf

2

Creo que el FF es el líder alfa. 255 (o FF) siendo 100% opaco, y 00 sería transparente.

0

el 'extra' ff es un valor alfa (grado de transparencia). Si solo tiene 3 pares hexadecimales, se supone que el valor alfa es ff (sin transparencia). Sin embargo, si comparas # 335A7F39 y # FF5A7F39 deberías ver una diferencia

Cuestiones relacionadas