2009-09-27 10 views
6

Uso Expression Blend 3 e scrivo alcuni XAML a mano, in particolare i valori dei colori dei controlli.Perché il "#FF" iniziale nei valori di colore esadecimali?

Ho una lista di colori RGB già convertiti in esadecimali. Devo solo inserire il valore esadecimale nel mio XAML.

Inizialmente, ho incollato il valore esadecimale da un'e-mail nelle proprietà appropriate. Prima che potessi finire, Blend ha iniziato ad avere un attacco, sottolineando la proprietà del colore con un ghirigoro e un suggerimento che diceva "Token non è valido". Dopo alcune ricerche, ho trovato l'immissione di un cancelletto ("#") di fronte al valore esadecimale risolto questo problema.

Nel processo di ricerca di questo problema, ho iniziato a cambiare i colori tramite il selettore di colori in Blend. Ho trovato rapidamente i valori che Blend stava inserendo non solo iniziato con il simbolo cancelletto ma anche "FF". I valori che stavo incollando erano colori validi in formato esadecimale valido. Ma inserendo i valori RGB in Blend e lasciando che Blend inserisca il valore esadecimale, ho notato che tutti i mycolors erano preceduti da "#FF". Rimuovere il #, come ho già sottolineato, generava errori ma rimuoveva il "FF" cucito per non avere alcun effetto.

Nel mondo dei colori esadecimali, il colore # 5A7F39 è lo stesso di # FF5A7F39? Perché la FF? Sono due diversi valori esadecimali, giusto? Ma appaiono identici sullo schermo. Perché la differenza?

risposta

15

Questo potrebbe essere il componente alfa del colore, che rappresenta l'opacità (00 -> trasparente, FF -> opaco).

MSDN sembra essere d'accordo con questo: http://msdn.microsoft.com/en-us/library/bb980062(VS.95).aspx

16-bit esadecimale, alpha - #AARRGGBB

+1

Sono un po 'confuso da come, secondo l'articolo, 1 cifra esadecimale rappresenta 8 bit e 2 cifre esadecimali rappresenta 16 bit. – snarf

2

Credo che la FF principale è l'Alfa. 255 (o FF) essendo opaco al 100% e 00 sarebbe trasparente.

0

"extra" ff è un valore alfa (grado di trasparenza). Se hai solo 3 coppie esadecimali, si assume che il valore alfa sia ff (nessuna trasparenza). Tuttavia, se confronti # 335A7F39 e # FF5A7F39 dovresti vedere una differenza

Problemi correlati