1449 votes

Hex la transparence dans les couleurs

Je suis workin sur la mise en œuvre de wigdget l'option de transparence pour mon app widget bien que je vais avoir des difficultés à obtenir la couleur hexadécimale des valeurs de droite. Étant compleatly nouveau au sortilège de la couleur de transparence, je recherche un peu bien que je ne pouvais pas trouver de réponse précise à ma question. Je veux mettre de la transparence en hexadécimal de la couleur alors disons que ma couleur hexadécimale id "#33b5e5" et je veux qu'elle soit 50% transparent. Alors, je vais utiliser "#8033b5e5" parce que 80 est de 50%. J'ai trouvé un utile tableau ici: http://www.dtp-aus.com/hexadeci.htm . Avec ces données, j'ai réussi à venir à ceci:

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

Maintenant, les problèmes commencent à apparaître quand je reçois plus élevée que 100 dans l'hex. Hex codes de couleurs ne peut être 8 symboles longue droite? Par exemple #11233b5e5 (80%) se bloque.

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

4107voto

Ben Clayton Points 16793

Voici un tableau correct des pourcentages de valeurs hexadécimales. E. g. pour 50% de blanc que vous souhaitez utiliser #80FFFFFF.

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

50voto

erkangur Points 402

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

  • A : alpha
  • R : rouge
  • G : vert
  • B : bleu

Vous devez d'abord regarder comment hexadécimal œuvres. Vous pouvez écrire à la plupart des FF.

26voto

Tanis.7x Points 9536

Ce graphique ne montre pas de pourcents. "#90" n'est pas "90%". Ce graphique montre le hexadécimal vers décimal de conversion. Le nombre hexadécimal 90 (généralement représenté comme 0x90) est équivalent au nombre décimal 144.

Les nombres hexadécimaux sont à la base 16, de sorte que chaque chiffre est une valeur entre 0 et F. La valeur maximale de deux octets valeur hexadécimale (telles que la transparence d'une couleur) est 0xFF, ou 255 en décimal. Donc 100% est 0xFF.

26voto

dwbrito Points 1335

J'ai construit ce petit méthode d'assistance pour une application android, qui peut venir de l'utiliser:

 /**
 * @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;
}

8voto

chjarder Points 116

essayez ceci sur la recherche google (ou cliquez ici)

255 * .2 to hex

il va générer 0x33 .

Toutefois, google n'est pas arrondir les valeurs de sorte que vous pouvez seulement utiliser 1 chiffres multiplicateurs. si vous souhaitez utiliser le dire .85, vous devez obtenir l'arrondi à la valeur 255 * .85 d'abord, puis tapez (rounded-value here) to hex de la recherche google.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X