web-dev-qa-db-fra.com

Valeur hexadécimale ARGB transparente

Les couleurs du tableau this ne sont pas toutes transparentes. Je suppose que la valeur de A est définie sur FF.

Quel est le code pour la transparence?

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

134
user3332579

La transparence est contrôlée par le canal alpha (AA dans #AARRGGBB). La valeur maximale (255 déc, FF hex) signifie totalement opaque. La valeur minimale (0 déc, 00 hex) signifie une transparence totale. 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, GG et BB ne sont pas pertinents dans ce cas car aucune couleur ne sera visible. Cela signifie que #00FFFFFF ("blanc transparent") a la même couleur que #00F0F8FF ("transparent AliceBlue"). Pour rester simple, on choisit le noir (#00000000) ou le blanc (#00FFFFFF) si la couleur n'a pas d'importance.

Dans le tableau auquel vous êtes lié, vous trouverez Transparent défini comme #00FFFFFF.

171
theHacker

Voici la table des valeurs% à hexa

Exemple: pour 85% de blanc, vous utiliseriez # D9FFFFFF.

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
441
Shivaraj Patil

Ajoutant aux autres réponses et ne faisant rien de plus que ce que @Maleta a expliqué dans un commentaire sur https://stackoverflow.com/a/28481374/1626594 , faire alpha * 255 puis arrondissez ensuite à hex . 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>
4
Francisco M.

Il suffit d'utiliser ceci:

Android: background = "# 00FFFFFF"

ça va faire ton travail.

1