De kleuren in deze tabel zijn allemaal niet transparant. Ik vermoed dat de waarde voor de A
is ingesteld op FF
.
Wat is de code voor transparantie?
Bijvoorbeeld deze kleur FFF0F8FF (AliceBlue), naar een transparante code zoals ??F0F8FF
?
Antwoord 1, autoriteit 100%
Transparantie wordt geregeld door het alfakanaal (AA
in #AARRGGBB
). Maximale waarde (255 dec, FF hex) betekent volledig ondoorzichtig. Minimumwaarde (0 dec, 00 hex) betekent volledig transparant. Waarden daartussen zijn semi-transparant, d.w.z. de kleur wordt gemengd met de achtergrondkleur.
Om een volledig transparante kleur te krijgen, stelt u de alfa in op nul. RR
, GG
en BB
zijn in dit geval niet relevant omdat er geen kleur zichtbaar zal zijn. Dit betekent dat #00FFFFFF
(“transparant wit”) dezelfde kleur heeft als #00F0F8FF
(“transparant AliceBlue”).
Om het simpel te houden kiest men zwart (#00000000
) of wit (#00FFFFFF
) als de kleur er niet toe doet.
In de tabel waarnaar u heeft gelinkt, vindt u Transparent
gedefinieerd als #00FFFFFF
.
Antwoord 2, autoriteit 97%
Hier is de tabel van % naar hex-waarden:
Voorbeeld: voor 85% wit gebruikt u #D9FFFFFF
.
Hier 85% = “D9” & Wit = “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
Hoe wordt het berekend?
FF is een getal geschreven in hex-modus. Dat getal staat voor 255 in decimalen. Als u bijvoorbeeld wilt dat 42% wordt berekend, moet u 42% van getal 255 vinden en dat getal converteren naar hex. 255 * 0,42 ~= 107 107 naar hex is “6B
maleta
Antwoord 3, autoriteit 4%
Toevoegen aan de andere antwoorden en niets meer doen van wat @Maleta heeft uitgelegd in een opmerking op https://stackoverflow.com/a /28481374/1626594, doe alpha*255 en rond dan af naar hex. Hier is een snelle converter 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>
Antwoord 4, autoriteit 2%
Gebruik gewoon dit:
android:background=”#00FFFFFF”
het zal je werk doen.
Antwoord 5
Als je je hexadecimale waarde hebt en je je afvraagt wat de waarde voor de alfa zou zijn, kan dit fragment helpen:
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));
Antwoord 6
Ik kwam dit net tegen en de korte code voor transparantie is gewoon #00000000.
Antwoord 7
LET OP ????
In HTML/CSS (browsercode) is het formaat #RRGGBBAA
met het alfakanaal als laatste twee hexadecimale cijfers.