Transparence Hex dans les couleurs [dupliquer]

cette question a déjà une réponse ici:

je travaille sur la mise en œuvre d'une option de transparence widget pour mon widget app bien que j'ai quelques difficultés à obtenir les valeurs de couleurs hexadécimales. Complètement nouveau à la transparence des couleurs hex j'ai cherché un peu autour bien que je n'ai pas pu trouver une réponse spécifique à ma question.

je veux régler la transparence par couleur hexadécimale donc disons mon id de couleur hexadécimale" #33b5e5 " et je veux qu'il soit transparent à 50%. Alors j'utiliserai "#8033b5e5" parce que 80 c'est 50%.

j'ai trouvé une carte utile ici: http://www.dtp-aus.com/hexadeci.htm . Avec ces données, j'ai réussi à trouver ceci:

0% = #00
10% = #16
20% = #32
30% = #48
40% = #64
50% = #80
60% = #96
70% = #112
80% = #128
90% = #144

maintenant les numéros commencent à apparaître quand je dépasse 100 dans hex. Les codes de couleur Hex ne peuvent avoir que 8 symboles de long, non? Par exemple #11233b5e5 (80%) s'écrase.

Que puis-je faire pour me permettre d'utiliser les nombres plus élevés?

989
demandé sur MichaelStoddart 2013-04-06 18:30:26
la source

10 ответов

voici un tableau correct des pourcentages des valeurs hexadécimales. Par exemple: pour 50% de blanc, vous utiliseriez #80FFFF.

  • 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

( source )

3105
répondu Ben Clayton 2017-05-23 15:18:27
la source

réponse Courte

vous pouvez voir le tableau complet des pourcentages aux valeurs hex et exécuter le code dans ce terrain de jeu dans https://play.golang.org/p/l1JaPYFzDkI .

brève explication en pseudo-code

pourcentage par rapport aux valeurs hex

  1. décimal = pourcentage * 255 / 100 . ex: décimal = 50*255/100 = 127.5
  2. convertissez décimal en valeur hexadécimale . ex: 127.5 en décimal = 7 * 16ˆ1 + 15 = 7F en hexadécimal 1519160920"

valeurs hexadécimales en pourcentage

  1. convertissez la valeur hexaxdécimale en décimale. ex: D6 = 13 * 16ˆ1 + 6 =214
  2. pourcentage = (valeur en décimal ) * 100 / 255. ex: 214 *100/255 = 84%

plus d'informations pour la conversion décimale < = > hexadécimale

réponse Longue: comment calculer dans votre tête

le problème peut être résolu de façon générique par une cross multiplication .

nous avons un pourcentage (allant de 0 à 100 ) et un autre nombre (allant de 0 à 255) puis converti en hexadécimal.

  • 100 <==> 255 (FF in hexadécimal)
  • 0 < = = > 0 (00 en hexadécimal)

pour 1%

  • 1 * 255 / 100 = 2,5
  • 2,5 en hexa est 2 si vous arrondir vers le bas.

pour 2%

  • 2 * 255 / 100 = 5
  • 5 en hexa est 5 .

le tableau dans la meilleure réponse donne le pourcentage par étape de 5%.

Comment calculer les nombres entre dans votre tête ? En raison de la 2,5 incrément, ajouter 2 à la première et 3 à la suivante

  • 95% - F2 / / start
  • 96% - F4 / / add 2 à F2
  • 97% - F7 // ajouter 3 . Ou F2 + 5 = F7
  • 98% - F9 // ajouter 2
  • 99% - FC // ajouter 3. 9 + 3 = 12 en hexa: C
  • 100% - FF // ajouter 2

je préfère apprendre à trouver la solution plutôt que de remettre la table

Donnez à un homme un poisson et vous le nourrissez pour un jour; apprends-lui à pêcher vous lui donnez à manger toute sa vie

99
répondu Raymond Chenon 2018-06-26 23:24:18
la source

la notation hexadécimale de la couleur est comme suit: #AARRGGBB

  • : alpha
  • R: rouge
  • g: Vert
  • B: Bleu

vous devriez d'abord regarder comment hexadécimal fonctionne. Vous pouvez écrire au maximum FF.

27
répondu erkangur 2013-04-06 18:35:23
la source

cette carte n'indique pas les pourcentages. "#90" n'est pas "90%". Ce graphique montre la conversion hexadécimale en décimale. Le nombre hex 90 (généralement représenté par 0x90) est équivalent au nombre décimal 144.

nombres hexadécimaux sont base-16, donc chaque chiffre est une valeur entre 0 et F. La valeur maximale pour une valeur hexadécimale de deux octets (comme la transparence d'une couleur) est 0xFF, ou 255 en décimale. Ainsi 100% est 0xFF.

21
répondu Tanis.7x 2014-09-11 17:33:51
la source

j'ai construit cette petite méthode helper pour une application android, peut venir d'utilisation:

 /**
 * @param originalColor color, without alpha
 * @param alpha         from 0.0 to 1.0
 * @return
 */
public static String addAlpha(String originalColor, double alpha) {
    long alphaFixed = Math.round(alpha * 255);
    String alphaHex = Long.toHexString(alphaFixed);
    if (alphaHex.length() == 1) {
        alphaHex = "0" + alphaHex;
    }
    originalColor = originalColor.replace("#", "#" + alphaHex);


    return originalColor;
}
16
répondu dwbrito 2014-06-24 15:03:58
la source

enter image description here

c'est peut-être une réponse très tardive.. Mais ce dossier le tue.

Toutes les valeurs en pourcentage sont mappés sur les valeurs hexadécimales.

http://online.sfsu.edu/chrism/hexval.html

16
répondu amalBit 2015-04-22 11:31:45
la source

essayez ceci sur google search (ou Cliquez ici )

255 * .2 to hex

il générera 0x33 en conséquence.

cependant, google ne arrondit pas les valeurs de sorte que vous ne pouvez utiliser que des multiplicateurs à 1 chiffre. si vous souhaitez utiliser le dire .85, vous devez obtenir la valeur arrondie de 255 * .85 d'abord, puis tapez (rounded-value here) to hex dans google search.

6
répondu chjarder 2014-11-10 15:04:06
la source

je me rends compte que c'est une vieille question, mais je l'ai rencontrée en faisant quelque chose de similaire.

en utilisant SASS, vous avez une façon très élégante de convertir RGBA en hex ARGB: ie-hex-str . Je l'ai utilisé ici dans un mixin.

@mixin ie8-rgba ($r, $g, $b, $a){
    $rgba: rgba($r, $g, $b, $a);
    $ie8-rgba: ie-hex-str($rgba);
    .lt-ie9 &{
      background-color: transparent;
      filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#{$ie8-rgba}', endColorstr='#{$ie8-rgba}');
  }
}

.transparent{
    @include ie8-rgba(88,153,131,.8);
    background-color: rgba(88,153,131,.8);
}

sorties:

.transparent {
  background-color: rgba(88, 153, 131, 0.8);
}
.lt-ie9 .transparent {
  background-color: transparent;
  filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#CC589983', endColorstr='#CC589983');
  zoom: 1;
}
3
répondu fontophilic 2015-12-09 22:44:51
la source

utilisant python pour calculer ceci, par exemple (écrit en python 3), transparence de 50%:

hex(round(256*0.50))

:)

1
répondu Geng Jiawen 2014-12-12 05:21:45
la source

je viens toujours ici pour vérifier la valeur int/hex alpha. Donc, finir par créer une méthode simple dans ma classe java utils. Cette méthode convertira le pourcentage en valeur hexadécimale et l'ajoutera à la valeur du code couleur.

 public static String setColorAlpha(int percentage, String colorCode){
    double decValue = ((double)percentage / 100) * 255;
    String rawHexColor = colorCode.replace("#","");
    StringBuilder str = new StringBuilder(rawHexColor);

    if(Integer.toHexString((int)decValue).length() == 1)
        str.insert(0, "#0" + Integer.toHexString((int)decValue));
    else
        str.insert(0, "#" + Integer.toHexString((int)decValue));
    return str.toString();
}

ainsi, Utils.setColorAlpha(30, "#000000") vous donnera #4c000000

"
-1
répondu Amad Yus 2016-05-13 11:01:40
la source

Autres questions sur android transparency colors hex