Valore esadecimale ARGB trasparente


160

I colori in questa tabella non sono tutti trasparenti. Suppongo che il valore per Asia impostato su FF.

Qual è il codice per la trasparenza?

Ad esempio questo colore FFF0F8FF (AliceBlue), ad un codice trasparente quale ??F0F8FF?


Infine c'è un modo per impostare il colore trasparente con codice esadecimale per alcuni browser (nuova funzionalità). Per favore, dai un'occhiata a stackoverflow.com/a/60876347/2457251
Almir Campos

Risposte:


199

La trasparenza è controllata dal canale alfa ( AAin #AARRGGBB). Il valore massimo (255 dec, hex FF) significa completamente opaco. Il valore minimo (0 dic, 00 hex) significa completamente trasparente. I valori intermedi sono semitrasparenti, ovvero il colore viene mescolato con il colore di sfondo.

Per ottenere un colore completamente trasparente, impostare l'alfa su zero. RR, GGE BBsono irrilevanti in questo caso perché nessun colore sarà visibile. Ciò significa che #00FFFFFF("bianco trasparente") ha lo stesso colore di #00F0F8FF("AliceBlue trasparente"). Per mantenerlo semplice si sceglie nero ( #00000000) o bianco ( #00FFFFFF) se il colore non ha importanza.

Nella tabella a cui ti sei collegato troverai Transparentdefinito come #00FFFFFF.


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

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

1
@ user3332579: quindi il 50% di bianco è #7FFFFFFF.
theHacker

6
Il formato è #RRGGBBAA Hex8 (o #RGBA in Hex4) e NON #AARRGGBB (o #ARGB) che ho testato in Chrome 62,63,64 Consultare CanIUse.com , https://css-tricks.com/8- digit-hex-codes / , Chrome Feature Status
SGS Sandhu

3
@SGSSandhu La domanda non è rivolta ai CSS. Vedi di nuovo la domanda, il formato è ARGB.
theHacker

506

Ecco la tabella dei valori da% a esadecimali:

Esempio : per l'85% di bianco, si utilizzerà #D9FFFFFF. Qui 85% = "D9" e bianco = "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

Come viene calcolato?

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 numero 255 e convertire quel numero in esadecimale. 255 * 0.42 ~ = 107 107 a esadecimale è "6B - maleta


3
come si calcola questo?
Saeed Jassani,

35
@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 numero 255 e convertire quel numero in esadecimale. 255 * 0.42 ~ = 107 107 in esadecimale è "6B"
maleta

1
@Maleta Grazie mille
Saeed Jassani il

10

Aggiungendo alle altre risposte e non facendo altro che ciò che @Maleta ha spiegato in un commento su https://stackoverflow.com/a/28481374/1626594 , facendo alpha * 255 poi arrotondando poi a hex . 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

Se hai il tuo valore esadecimale e ti stai solo chiedendo quale sarebbe il valore per l'alfa, questo frammento può aiutare:

const alphaToHex = (alpha => {
  if (alpha > 1 || alpha < 0 || isNaN(alpha)) {
    throw new Error('The argument must be a number between 0 and 1');
  }
  return Math.ceil(255 * alpha).toString(16).toUpperCase();
})

console.log(alphaToHex(0.45));

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.