it-swarm-es.com

¿Cómo obtener un color consistente "percibido" en un BG transparente?

Estoy en apuros.

Tengo que hacer controles de formulario (botones, casillas de verificación, entradas de texto, etc.) sobre un fondo negro semitransparente (85% alfa).

Así es como se ven hasta ahora:

Le checkboxes

Observe la diferencia entre los dos superiores y los dos inferiores. La diferencia es que el borde inferior y el derecho son lo suficientemente claros como para dar ese aspecto de inserción genial. ¿El problema? Todos menos uno de esos bordes es del mismo color.

:(

¡Debido a que está en un fondo transparente, las líneas aparecen a tu vista como más claras u oscuras según el color detrás de ellas! Por lo tanto, ese aspecto ordenado y detallado irá y vendrá según lo que haya debajo. Siempre quiero que la apariencia ordenada esté allí, ¿cómo puedo hacerlo? ¿Hay algún truco de modo de mezcla para esto?

PD Olvidé mencionar que esto eventualmente se mostrará en Flash, por lo que me divertiré un poco con los modos de mezcla y esas cosas.

Editar: Hice otra imagen para aclarar mejor el problema (por 'demasiado oscuro' y 'demasiado brillante' todavía me estoy refiriendo a los bordes derecho e inferior).

Another Example

6
Jonathan Dumaine

Puede usar una pantalla o el modo de fusión de esquivar el color. O bien, puede usar un color blanco puro pero establecer la transparencia del área del borde en el porcentaje que desea que se aclare. Esto será lo mismo que usar un modo de fusión de pantalla con un color gris de esa luminosidad.

Editar:
La luminosidad percibida se basa en el color BG con el que se contrasta el color FG, como ha visto en sus imágenes. En este momento, lo que está sucediendo es que los resaltados de las casillas de verificación se representan en el mismo color y sombra sin importar el fondo. Entonces, si el fondo es brillante, solo aumenta un poco o nada la luminosidad, pero si el fondo es oscuro, entonces aumenta mucho la luminosidad. Esto le da al resaltado un aspecto antinatural/inconsistente.

La solución es hacer que los reflejos iluminen el BG en un X%, para que siempre sea un X% más brillante que sus píxeles adyacentes. La luminosidad "percibida" será X%, independientemente del fondo (a menos que el fondo sea demasiado brillante, entonces no podrá aumentar el brillo en el X% completo).

2
Lèse majesté