
La transparencia en los gráficos por computadora es posible en varios formatos de archivo . El término " transparencia " se usa de diversas maneras por diferentes personas, pero en su forma más simple existe la "transparencia total", es decir, algo completamente invisible. Solo una parte de un gráfico debe ser totalmente transparente, o no habría nada que ver. Más compleja es la "transparencia parcial" o "translucidez", donde se logra el efecto de que un gráfico sea parcialmente transparente de la misma manera que un vidrio de color. Dado que, en última instancia, una página impresa o una pantalla de computadora o televisión solo puede tener un color en un punto, la transparencia parcial siempre se simula en algún nivel mediante la mezcla de colores . Hay muchas maneras diferentes de mezclar colores, por lo que en algunos casos la transparencia es ambigua.
Además, la transparencia suele ser un "extra" en un formato gráfico, y algunos programas de gráficos la ignoran.

Los formatos de archivo ráster que admiten transparencia incluyen GIF , PNG , WebP , BMP , TIFF , TGA y JPEG 2000 , ya sea a través de un color transparente o un canal alfa .
La mayoría de los formatos vectoriales admiten la transparencia de forma implícita, ya que simplemente evitan colocar objetos en un punto determinado. Esto incluye EPS y WMF . En gráficos vectoriales, esto puede no considerarse estrictamente transparencia, pero requiere una programación muy cuidadosa, similar a la de los formatos de trama.
Los formatos vectoriales más complejos pueden permitir combinaciones de transparencia entre los elementos dentro del gráfico, así como la que se muestra arriba. Esto incluye SVG y PDF .
Un editor de gráficos rasterizados adecuado muestra la transparencia mediante un patrón especial, por ejemplo, un patrón de tablero de ajedrez.
píxeles transparentes

En la paleta de una imagen GIF o PNG, un color puede definirse como "transparente" en lugar de un color real. Esto significa que cuando el decodificador encuentra un píxel con este valor, se renderiza con el color de fondo de la parte de la pantalla donde se encuentra la imagen, incluso si este varía píxel a píxel, como en el caso de una imagen de fondo .
Las aplicaciones incluyen:
- Una imagen que no sea rectangular se puede rellenar hasta alcanzar el rectángulo requerido utilizando un entorno transparente; la imagen incluso puede tener agujeros (por ejemplo, tener forma de anillo).
- En un texto, a un símbolo especial para el que se utiliza una imagen porque no está disponible en el conjunto de caracteres, se le puede dar un fondo transparente, lo que da como resultado un fondo que coincida.
El color transparente debe elegirse con cuidado para evitar que los objetos que casualmente sean del mismo color desaparezcan.
Incluso esta forma limitada de transparencia tiene una implementación irregular, aunque la mayoría de los navegadores web populares pueden mostrar imágenes GIF transparentes. Esta compatibilidad a menudo no se extiende a la impresión, especialmente a las impresoras (como PostScript ) que no incluyen soporte para transparencia en el dispositivo o el controlador. Fuera del ámbito de los navegadores web, la compatibilidad con archivos GIF transparentes es bastante irregular.
Limitaciones de borde de los píxeles transparentes

Los bordes de los caracteres y otras imágenes con fondo transparente no deben tener tonos grises : estos se utilizan normalmente para colores intermedios entre el color de la letra/imagen y el del fondo, generalmente como un punto intermedio entre una letra negra y un fondo blanco. Sin embargo, con un fondo rojo, por ejemplo, los colores intermedios serían rojo oscuro. Los píxeles grises en los bordes darían un resultado poco estético y poco nítido. Para un color de fondo variable, no existen colores intermedios fijos adecuados.
Transparencia parcial por canales alfa

Algunos formatos de imagen, como PNG y TIFF, también permiten la transparencia parcial mediante un canal alfa, lo que resuelve el problema de la limitación de los bordes. En lugar de que cada píxel sea completamente transparente o no, se puede configurar con 254 niveles de transparencia parcial, lo que permite que parte de la imagen de fondo se vea a través de la imagen de primer plano.
Un uso importante de la transparencia parcial es producir "bordes suaves" en los gráficos para que se mimeticen con el fondo. [ 1 ] Véase también monocromo o con tonos de gris y suavizado de bordes . La transparencia parcial también se puede usar para atenuar una imagen, como una marca de agua u otro logotipo; o para hacer que algo parezca transparente, como una aparición fantasmal en un videojuego. Animar el canal alfa en un programa de edición de imágenes puede permitir transiciones suaves entre diferentes imágenes.
El proceso de combinar un color parcialmente transparente con su fondo («composición») suele estar mal definido y los resultados pueden no ser exactamente iguales en todos los casos. Por ejemplo, cuando se utiliza corrección de color, ¿deben combinarse los colores antes o después de la corrección?

Transparencia mediante trazado de recorte
Una alternativa a la transparencia total es usar una ruta de recorte . Una ruta de recorte es simplemente una forma o contorno que se utiliza junto con otros elementos gráficos. Todo lo que se encuentra dentro de la ruta es visible y todo lo que está fuera es invisible. La ruta es inherentemente vectorial, pero puede usarse para enmascarar datos vectoriales y de mapa de bits. El uso principal de las rutas de recorte es en archivos PostScript.
Cálculos de composición
Si bien algunas especificaciones de transparencia son vagas, otras pueden proporcionar detalles matemáticos sobre cómo se deben combinar dos colores. Esto ofrece un ejemplo bastante sencillo de cómo funcionan los cálculos de composición, cómo pueden producir los resultados esperados y también cómo pueden generar sorpresas.
En este ejemplo, se combinan dos colores en escala de grises. Los valores de la escala de grises se consideran números entre 0,0 (blanco) y 1,0 (negro). Es importante destacar que esta es solo una regla posible para la transparencia. Si trabaja con transparencia, consulte las reglas aplicables a su caso.
El color en un punto donde se combinan los colores G1 y G2 es ( G1 + G2 ) / 2. Algunas consecuencias de esto son:
- Cuando los colores son iguales, el resultado es el mismo color porque
( G1 + G1 ) /2 = G1. - Cuando un color (G1) es blanco (0,0), el resultado es
G2 / 2. Esto siempre será menor que cualquier valor distinto de cero de G2, por lo que el resultado es más blanco que G2. (Esto se invierte fácilmente en el caso en que G2 sea blanco). - Donde un color (G1) es negro (1.0), el resultado es
( G2 + 1 ) / 2. Esto siempre será mayor que G2, por lo que el resultado es más negro que G2. - La fórmula es conmutativa ya que
( G1 + G2 ) / 2 = ( G2 + G1 ) / 2. Esto significa que no importa en qué orden se mezclen dos gráficos, es decir, cuál de los dos está arriba y cuál está abajo. - La fórmula no es asociativa ya que
( (G1 + G2 ) / 2 + G3 ) / 2 = G1 / 4 + G2 / 4 + G3 / 2 (G1 + (G2 + G3)/2)/2 = G1/2 + G2/4 + G3/4
Esto es importante, ya que significa que al combinar tres o más objetos con esta regla de transparencia, el color final depende en gran medida del orden en que se realicen los cálculos.
Aunque la fórmula es sencilla, puede que no sea la ideal. La percepción humana del brillo no es lineal; no necesariamente consideramos que un valor de gris de 0,5 se encuentre a medio camino entre el blanco y el negro. Estos detalles pueden no importar cuando la transparencia se usa solo para suavizar los bordes, pero en diseños más complejos esto puede ser significativo. La mayoría de las personas que trabajan seriamente con transparencia necesitarán ver los resultados y podrían ajustar los colores o (cuando sea posible) el algoritmo para obtener los resultados deseados.
Esta fórmula se puede generalizar fácilmente al color RGB o CMYK aplicándola a cada canal por separado. Por ejemplo, el resultado final es red = ( R1 + R2 ) / 2. Pero no se puede aplicar a todos los modelos de color. Por ejemplo, el color Lab produciría resultados sorprendentes.
Un modelo alternativo consiste en que en cada punto de cada elemento que se combine para lograr transparencia, exista un color y una opacidad asociados entre 0 y 1. Para cada canal de color, se puede trabajar con este modelo: si un canal con intensidad G2y opacidad T2se superpone a otro canal con intensidad G1y opacidad, T1el resultado será un canal con intensidad igual a (1 - T2) * G1 + G2y opacidad 1 - (1 - T2) * (1 - T1). Cada canal debe multiplicarse por el valor alfa correspondiente antes de la composición (lo que se denomina alfa premultiplicado ). La especificación del archivo SVG utiliza este tipo de fusión, y este es uno de los modelos que se pueden utilizar en PDF.
Los canales alfa pueden implementarse de esta manera, donde el canal alfa proporciona un nivel de opacidad que se aplica por igual a todos los demás canales. Para trabajar con la fórmula anterior, la opacidad debe escalarse al rango de 0 a 1, independientemente de su representación externa (a menudo de 0 a 255 si se utilizan muestras de 8 bits como "RGBA").
Transparencia en PDF
A partir de la versión 1.4 del estándar PDF ( Adobe Acrobat versión 5), se admite la transparencia (incluida la translucidez). La transparencia en los archivos PDF permite a los creadores lograr diversos efectos, como añadir sombras a los objetos, hacerlos semitransparentes y fusionarlos entre sí o con el texto. PDF admite muchos modos de fusión diferentes , no solo el método de promedio más común, y las reglas para componer varios objetos superpuestos permiten elegir (por ejemplo, si un grupo de objetos se fusiona antes de fusionarse con el fondo, o si cada objeto se fusiona con el fondo por separado).
La transparencia en PDF es un modelo muy complejo; su especificación original de Adobe consta de más de 100 páginas. Una de las principales dificultades radica en que la combinación de objetos con diferentes espacios de color puede ser complicada y propensa a errores, además de causar problemas de compatibilidad . La transparencia en PDF se diseñó para evitar errores en los visores de PDF que no la comprendieran; estos simplemente mostrarían todos los elementos como completamente opacos. Sin embargo, esto resultó ser un arma de doble filo, ya que los usuarios con visores o impresoras PDF antiguas podían ver o imprimir algo completamente diferente al diseño original.
La complejidad del modelo de transparencia de PDF dificulta su compatibilidad. Esto provoca que los RIP y las impresoras a menudo tengan problemas para imprimir PDF con transparencia. La solución consiste en rasterizar la imagen o aplicar la conversión vectorial a transparencia al PDF. Sin embargo, esta conversión es extremadamente compleja y solo es compatible con algunos programas especializados.
Transparencia en PostScript
El lenguaje PostScript tiene soporte limitado para la transparencia total (no parcial), dependiendo del nivel de PostScript. La transparencia parcial está disponible con la extensión pdfmark, [ 2 ] disponible en muchas implementaciones de PostScript.
Nivel 1
PostScript de nivel 1 ofrece transparencia mediante dos métodos:
- Una imagen monocromática (de un bit) puede tratarse como una máscara. En este caso, los bits 1 se pueden pintar con cualquier color, mientras que los bits 0 no se pintan. Esta técnica no se puede generalizar a más de un color ni a formas vectoriales.
- Se pueden definir trazados de recorte. Estos restringen qué parte de los gráficos posteriores es visible. Esto se puede usar para cualquier tipo de gráfico; sin embargo, en el nivel 1, el número máximo de nodos en un trazado solía estar limitado a 1500, por lo que los trazados complejos (por ejemplo, recortar el cabello en la fotografía de la cabeza de una persona) a menudo fallaban.
Nivel 2
PostScript de nivel 2 no añade funciones de transparencia específicas. Sin embargo, mediante el uso de patrones, se pueden pintar gráficos arbitrarios a través de máscaras definidas por cualquier operación vectorial o de texto. No obstante, su implementación es compleja. Además, con demasiada frecuencia se alcanzaban límites de implementación, y pocos programas, si acaso alguno, ofrecían esta técnica.
Nivel 3
El PostScript de nivel 3 añade una opción de transparencia adicional para cualquier imagen rasterizada. Se puede aplicar un color transparente, o una gama de colores; o bien, se puede utilizar una máscara de 1 bit independiente para proporcionar un canal alfa.
PostScript encapsulado
Los archivos EPS contienen PostScript, que puede ser de nivel 1, 2 o 3 y utiliza las características mencionadas anteriormente. Un problema más sutil surge con las previsualizaciones de archivos EPS, que se utilizan normalmente para mostrar la vista del archivo en pantalla. Existen técnicas viables para configurar la transparencia en la previsualización. Por ejemplo, una previsualización TIFF podría usar un canal alfa TIFF. Sin embargo, muchas aplicaciones no utilizan esta información de transparencia y, por lo tanto, mostrarán la previsualización como un rectángulo. Una técnica semipropietaria, pionera en Photoshop y adoptada por varias aplicaciones de preimpresión, consiste en almacenar una ruta de recorte en una ubicación estándar del EPS y usarla para la visualización.
Además, pocos de los programas que generan vistas previas de EPS generarán información de transparencia en la vista previa.
Algunos programas han intentado solucionar esto tratando todos los blancos en la vista previa como transparentes, pero esto también resulta problemático en los casos en que algunos blancos no son transparentes.
Más recientemente, han aparecido aplicaciones que ignoran por completo la vista previa; por lo tanto, obtienen información sobre qué partes de la vista previa deben pintar interpretando el código PostScript.
Véase también
Referencias
- Arte digital
- Gráficos por computadora