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?
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?
Risposte:
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.
7F. Metti la tua calcolatrice in modalità esadecimale, farà il trucco per te.
#7FFFFFFF.
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
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>
Usa questo:
Android: background = "# 00FFFFFF"
farà il tuo lavoro.
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));