android - with - transparent hexadecimal css




Transparencia hexagonal en colores (7)

Respuesta corta

Puede ver la tabla completa de porcentajes para valores hexadecimales y ejecutar el código en este parque en https://play.golang.org/p/l1JaPYFzDkI .

Breve explicación en pseudocódigo.

Porcentaje a valores hexadecimales

  1. decimal = porcentaje * 255/100. Ej: decimal = 50 * 255/100 = 127.5
  2. convertir decimal a valor hexadecimal Ej: 127.5 en decimal = 7 * 16ˆ1 + 15 = 7F en hexadecimal

Valores hexadecimales a porcentaje

  1. Convierte el valor hexaxdecimal a decimal. ej: D6 = 13 * 16ˆ1 + 6 = 214
  2. porcentaje = (valor en decimal) * 100 / 255. ex: 214 * 100/255 = 84%

Más informaciones para la conversión decimal <=> hexadecimal

Respuesta larga: cómo calcular en tu cabeza.

El problema puede resolverse genéricamente mediante una multiplicación cruzada .

Tenemos un porcentaje (que va de 0 a 100) y otro número (que va de 0 a 255) y luego se convierte a hexadecimal.

  • 100 <==> 255 (FF en hexadecimal)
  • 0 <==> 0 (00 en hexadecimal)

Para 1%

  • 1 * 255/100 = 2,5
  • 2,5 en hexa es 2 si lo redondeas hacia abajo.

Para 2%

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

La tabla de la mejor respuesta da el porcentaje por paso del 5%.

¿Cómo calcular los números entre en tu cabeza? Debido al incremento de 2.5 , agregue 2 a la primera y 3 a la siguiente

  • 95% - F2 // inicio
  • 96% - F4 // agrega 2 a F2
  • 97% - F7 // añadir 3. O F2 + 5 = F7
  • 98% - F9 // añadir 2
  • 99% - FC // suma 3. 9 + 3 = 12 en hexa: C
  • 100% - FF // añadir 2

Prefiero enseñar cómo encontrar la solución a la mesa de entrega.

Dale un pescado a un hombre y lo alimentarás por un día; Enseña a un hombre a pescar y lo alimentas para toda la vida.

Esta pregunta ya tiene una respuesta aquí:

Estoy trabajando en la implementación de una opción de transparencia de widget para el widget de mi aplicación, aunque tengo algunos problemas para obtener los valores de color hexadecimales correctos. Al ser completamente nuevo en la transparencia de color hexadecimal, busqué un poco, aunque no pude encontrar una respuesta específica a mi pregunta.

Quiero establecer la transparencia por color hexadecimal, así que digamos mi ID de color hexadecimal "# 33b5e5" y quiero que sea 50% transparente. Luego usaré "# 8033b5e5" porque 80 es 50%.

Encontré un gráfico útil aquí: http://www.dtp-aus.com/hexadeci.htm . Con estos datos logré llegar a esto:

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

Ahora los problemas comienzan a aparecer cuando obtengo más de 100 en hexadecimal. Los códigos de color hexadecimales solo pueden tener 8 símbolos, ¿verdad? Por ejemplo, # 11233b5e5 (80%) se bloquea.

¿Qué puedo hacer para permitirme usar los números más altos también?


Aquí hay una tabla correcta de porcentajes a valores hexadecimales. Por ejemplo, para un 50% de blanco usarías # 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 )


Esa gráfica no muestra porcentajes. "# 90" no es "90%". Ese gráfico muestra la conversión de hexadecimal a decimal. El número hexadecimal 90 (representado típicamente como 0x90) es equivalente al número decimal 144.

Los números hexadecimales son base-16, por lo que cada dígito es un valor entre 0 y F. El valor máximo para un valor hexadecimal de dos bytes (como la transparencia de un color) es 0xFF, o 255 en decimal. Así, el 100% es 0xFF.


La notación hexadecimal en color es como la siguiente: #AARRGGBB

  • A: alfa
  • R: rojo
  • G: verde
  • B: azul

Primero debes ver cómo funciona el hexadecimal . Puedes escribir a lo sumo FF.


Siempre sigo viniendo aquí para verificar el valor alfa int / hex. Entonces, termine creando un método simple en mi clase de utils java. Este método convertirá el porcentaje en valor hexadecimal y se agregará al valor de la cadena de código de color.

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

Entonces, Utils.setColorAlpha(30, "#000000") le dará #4c000000


Usando python para calcular esto, por ejemplo (escrito en python 3), 50% de transparencia:

hex(round(256*0.50))

:)






transparency