Bu]1 tablosundaki renklerin tümü saydam değildir. Sanırım A
için değer FF
olarak ayarlanmış.
Şeffaflığın kodu nedir?
Örneğin bu renk FFF0F8FF (AliceBlue), ??F0F8FF
gibi saydam bir koda ?
İşte % ile hex değerleri arasındaki tablo
Örnek: 85 beyaz için #D9FFFFFF kullanırsınız.
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
Şeffaflık alfa kanalı tarafından kontrol edilir (#AARRGGBB
içindeki AA
). Maksimum değer (255 dec, FF hex) tamamen opak anlamına gelir. Minimum değer (0 dec, 00 hex) tamamen saydam anlamına gelir. Aradaki değerler yarı saydamdır, yani renk arka plan rengiyle karıştırılır.
Tamamen şeffaf bir renk elde etmek için alfayı sıfıra ayarlayın. RR,
GGve
BBbu durumda önemsizdir çünkü hiçbir renk görünmeyecektir. Bu,
#00FFFFFF("şeffaf Beyaz") renginin
#00F0F8FF("şeffaf AliceMavi") rengiyle aynı olduğu anlamına gelir. Basit tutmak için, renk önemli değilse siyah (
#00000000) veya beyaz (
#00FFFFFF`) seçilir.
Bağlantısını verdiğiniz tabloda #00FFFFFF
olarak tanımlanmış Transparent
ifadesini bulacaksınız.
Diğer cevaplara ek olarak ve @Maleta'nın https://stackoverflow.com/a/28481374/1626594 adresindeki bir yorumda açıkladığı şeyden başka bir şey yapmadan, *alpha255 yapıp sonra hex'e** yuvarlayın. İşte hızlı bir dönüştürücü
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>