2014-04-21 13 views
94

I colori nella tabella this non sono tutti trasparenti. Immagino che il valore per A sia impostato su FF.Valore esadecimale ARGB trasparente

Qual è il codice per la trasparenza?

Ad esempio questo colore FFF0F8FF (AliceBlue), a un codice trasparente come ??F0F8FF?

risposta

126

La trasparenza è controllata dal canale alfa (AA in #AARRGGBB). Il valore massimo (255 dec, FF hex) significa completamente opaco. Valore minimo (0 dec, 00 esadecimale) significa completamente trasparente. I valori intermedi sono semi-trasparenti, cioè il colore è mescolato con il colore di sfondo.

Per ottenere un colore completamente trasparente, impostare l'alpha su zero. RR, GG e BB sono irrilevanti in questo caso perché nessun colore sarà visibile. Questo significa che #00FFFFFF ("bianco trasparente") è dello stesso colore di #00F0F8FF ("trasparente AliceBlue"). Per semplificare, si sceglie il nero (#00000000) o il bianco (#00FFFFFF) se il colore non ha importanza.

Nella tabella che hai collegato troverai Transparent definito come #00FFFFFF.

+1

diciamo che ho bisogno del 50% di opacità. Qual è il codice per il colore bianco con il 50% di opacità/trasparente? – user3332579

+7

@ user3332579: il 50% è '7F'. Metti la tua calcolatrice in modalità esadecimale, farà il trucco per te. – theHacker

+0

@ user3332579: Quindi il 50% bianco è '# 7FFFFFFF'. – theHacker

322

Ecco la tabella da% a valori esadecimali E.g. Per il bianco al 50% useresti # FFFFFF.

100% — FF 
95% — F2 
90% — E6 
85% — D9 
80% — CC 
75% — BF 
70% — B3 
65% — A6 
60% — 99 
55% — 8C 
50% — 80 
45% — 73 
40% — 66 
35% — 59 
30% — 4D 
25% — 40 
20% — 33 
15% — 26 
10% — 1A 
5% — 0D 
0% — 00 
+1

estremamente utile. grazie –

+2

come si calcola questo? –

+15

@SaeedJassani FF è il numero scritto in modalità esadecimale. Quel numero rappresenta 255 in decimale. Ad esempio, se si desidera calcolare il 42%, è necessario trovare il 42% del numbero 255 e convertirlo in esadecimale. 255 * 0.42 ~ = 107 107 a esadecimale è "6B" – Maleta

1

aggiunta alle altre risposte e non fare nulla di più di ciò @Maleta spiegato in un commento su https://stackoverflow.com/a/28481374/1626594, facendo alfa * 255 poi rotondo poi esadecimale. Ecco un convertitore rapido http://jsfiddle.net/8ajxdLap/4/

function rgb2hex(rgb) { 
 
    var rgbm = rgb.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?((?:[0-9]*[.])?[0-9]+)[\s+]?\)/i); 
 
    if (rgbm && rgbm.length === 5) { 
 
    return "#" + 
 
     ('0' + Math.round(parseFloat(rgbm[4], 10) * 255).toString(16).toUpperCase()).slice(-2) + 
 
     ("0" + parseInt(rgbm[1], 10).toString(16).toUpperCase()).slice(-2) + 
 
     ("0" + parseInt(rgbm[2], 10).toString(16).toUpperCase()).slice(-2) + 
 
     ("0" + parseInt(rgbm[3], 10).toString(16).toUpperCase()).slice(-2); 
 
    } else { 
 
    var rgbm = rgb.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i); 
 
    if (rgbm && rgbm.length === 4) { 
 
     return "#" + 
 
     ("0" + parseInt(rgbm[1], 10).toString(16).toUpperCase()).slice(-2) + 
 
     ("0" + parseInt(rgbm[2], 10).toString(16).toUpperCase()).slice(-2) + 
 
     ("0" + parseInt(rgbm[3], 10).toString(16).toUpperCase()).slice(-2); 
 
    } else { 
 
     return "cant parse that"; 
 
    } 
 
    } 
 
} 
 

 
$('button').click(function() { 
 
    var hex = rgb2hex($('#in_tb').val()); 
 
    $('#in_tb_result').html(hex); 
 
});
body { 
 
    padding: 20px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
Convert RGB/RGBA to hex #RRGGBB/#AARRGGBB:<br> 
 
<br> 
 
<input id="in_tb" type="text" value="rgba(200, 90, 34, 0.75)"> <button>Convert</button><br> 
 
<br> Result: <span id="in_tb_result"></span>

1

Basta usare questo:

android: background = "# 00FFFFFF"

che farà il vostro lavoro.

Problemi correlati