Valeur hexadécimale ARVB transparente

160

Les couleurs de ce tableau ne sont pas toutes transparentes. Je suppose que la valeur de la Aest définie sur FF.

Quel est le code de la transparence?

Par exemple cette couleur FFF0F8FF (AliceBlue), à ​​un code transparent tel que ??F0F8FF?

user3332579
la source
Enfin, il existe un moyen de définir une couleur transparente avec du code hexadécimal pour certains navigateurs (nouvelle fonctionnalité). Veuillez jeter un œil à stackoverflow.com/a/60876347/2457251
Almir Campos

Réponses:

199

La transparence est contrôlée par le canal alpha ( AAin #AARRGGBB). La valeur maximale (255 déc, FF hex) signifie totalement opaque. La valeur minimale (0 déc, 00 hex) signifie totalement transparent. Les valeurs intermédiaires sont semi-transparentes, c'est-à-dire que la couleur est mélangée à la couleur d'arrière-plan.

Pour obtenir une couleur totalement transparente, définissez l'alpha sur zéro. RR, GGet ne BBsont pas pertinents dans ce cas car aucune couleur ne sera visible. Cela signifie que #00FFFFFF("transparent White") est de la même couleur que #00F0F8FF("transparent AliceBlue"). Pour faire simple, on choisit le noir ( #00000000) ou le blanc ( #00FFFFFF) si la couleur n'a pas d'importance.

Dans le tableau auquel vous avez lié, vous trouverez Transparentdéfini comme #00FFFFFF.

le pirate
la source
2
disons que j'ai besoin de 50% d'opacité. Quel est le code pour la couleur blanche avec 50% d'opacité / transparent?
user3332579
10
@ user3332579: 50% est 7F. Mettez votre calculatrice en mode hexadécimal, elle fera l'affaire pour vous.
theHacker
1
@ user3332579: Donc 50% de blanc est #7FFFFFFF.
theHacker
6
Le format est #RRGGBBAA Hex8 (ou #RGBA en Hex4) et PAS #AARRGGBB (ou #ARGB) J'ai testé dans Chrome 62,63,64 Reportez-vous à CanIUse.com , https://css-tricks.com/8- digit-hex-codes / , Chrome Feature Status
SGS Sandhu
3
@SGSSandhu La question ne vise pas le CSS. Voir à nouveau la question, le format est ARVB.
theHacker
506

Voici le tableau des% en valeurs hexadécimales:

Exemple : pour 85% de blanc, vous utiliseriez #D9FFFFFF. Ici 85% = "D9" & White = "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

Comment est-il calculé?

FF est un nombre écrit en mode hexadécimal. Ce nombre représente 255 en décimal. Par exemple, si vous voulez que 42% calculent, vous devez trouver 42% du nombre 255 et convertir ce nombre en hexadécimal. 255 * 0,42 ~ = 107 107 en hexadécimal est "6B - maleta

Shivaraj Patil
la source
3
comment calculez-vous cela?
Saeed Jassani du
35
@SaeedJassani FF est un nombre écrit en mode hexadécimal. Ce nombre représente 255 en décimal. Par exemple, si vous voulez que 42% calculent, vous devez trouver 42% du nombre 255 et convertir ce nombre en hexadécimal. 255 * 0,42 ~ = 107 107 à hexadécimal est "6B"
maleta
1
@Maleta Merci beaucoup
Saeed Jassani
10

Ajouter aux autres réponses et ne rien faire de plus de ce que @Maleta a expliqué dans un commentaire sur https://stackoverflow.com/a/28481374/1626594 , en faisant alpha * 255 puis arrondissez ensuite en hexadécimal . Voici un convertisseur rapide 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>

Communauté
la source
2

Utilisez simplement ceci:

android: background = "# 00FFFFFF"

cela fera votre travail.

Aditya Singh Rajput
la source
1

Si vous avez votre valeur hexadécimale et que vous vous demandez simplement quelle serait la valeur de l'alpha, cet extrait de code peut vous aider:

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));

Raphael Aleixo
la source