Valore esadecimale ARGB trasparente

I colori nella tabella this non sono tutti trasparenti. Credo che il valore per la A sia impostato su FF.

Qual è il codice per la trasparenza?

Per esempio questo colore FFF0F8FF (AliceBlue), ad un codice trasparente come ??F0F8FF ?

Qui c'è la tabella dei valori % in esadecimale

Esempio: Per l'85% di bianco useresti #D9FFFFFFFF.

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
Commentari (4)
Soluzione

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

Per ottenere un colore completamente trasparente imposta l'alfa a zero. RR, GG e BB sono irrilevanti in questo caso perché nessun colore sarà visibile. Questo significa che #00FFFFFF ("trasparente White") è lo stesso colore di #00F0F8FF ("trasparente AliceBlue"). Per mantenerlo semplice si sceglie il nero (#00000000) o il bianco (#00FFFFFFFF) se il colore non è importante.

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

Commentari (5)

Aggiungendo alle altre risposte e non facendo nulla di più di quello che @Maleta ha spiegato in un commento su https://stackoverflow.com/a/28481374/1626594, facendo *alpha255 poi arrotondare poi a hex**. Ecco un rapido convertitore 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)"> Convert<br>
<br> Result: <span id="in_tb_result"></span>
Commentari (0)