stringtranslate.com

Transparencia (gráfica)

Animación GIF de un embalaje de esferas apolíneas con fondo transparente

La transparencia en los gráficos de computadora es posible en varios formatos de archivo . El término " transparencia " se utiliza de diversas formas por diferentes personas, pero en su forma más simple existe "transparencia total", es decir, algo que es completamente invisible. Solo una parte de un gráfico debe ser completamente transparente, o no habría nada que ver. Más compleja es la "transparencia parcial" o "translucidez" [ cita requerida ] donde se logra el efecto de que un gráfico es parcialmente transparente de la misma manera que el vidrio coloreado. 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 mezclando colores . Hay muchas formas diferentes de mezclar colores, por lo que en algunos casos la transparencia es ambigua.

Además, la transparencia suele ser un "extra" para un formato gráfico y algunos programas gráficos ignorarán la transparencia.

PNG animado ( APNG ) con transparencia de 8 bits

Los formatos de archivos rasterizados que admiten transparencia incluyen GIF , PNG , 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 manera implícita porque simplemente evitan colocar objetos en un punto determinado. Esto incluye EPS y WMF . Para los gráficos vectoriales, esto puede no considerarse estrictamente transparencia, pero requiere la misma programación cuidadosa que la transparencia en los formatos rasterizados.

Los formatos vectoriales más complejos pueden permitir combinaciones de transparencia entre los elementos dentro del gráfico, además de lo anterior. 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

Esta imagen tiene transparencia binaria (algunos píxeles son totalmente transparentes y otros totalmente opacos). Puede ser transparente con respecto a cualquier fondo porque es monocromática.

Una entrada de color en la paleta de una sola imagen GIF o PNG se puede definir como "transparente" en lugar de un color real. Esto significa que cuando el decodificador encuentra un píxel con este valor, se representa en el color de fondo de la parte de la pantalla donde se encuentra la imagen, incluso si este varía píxel por píxel, como en el caso de una imagen de fondo .

Las aplicaciones incluyen:

El color transparente debe elegirse con cuidado, para evitar que los elementos que sean del mismo color desaparezcan.

Incluso esta forma limitada de transparencia tiene una implementación irregular, aunque la mayoría de los navegadores web más populares son capaces de mostrar imágenes GIF transparentes. Esta compatibilidad a menudo no se extiende a la impresión, especialmente a los dispositivos de impresión (como PostScript ) que no incluyen compatibilidad con la transparencia en el dispositivo o el controlador. Fuera del mundo de los navegadores web, la compatibilidad con los archivos GIF transparentes es bastante imprecisa.

Limitaciones de los bordes de los píxeles transparentes

Esta imagen tiene transparencia binaria. Sin embargo, está en escala de grises y tiene suavizado de bordes , por lo que solo se ve bien sobre un fondo blanco. Si se la coloca sobre un fondo diferente, se produciría un efecto de "efecto fantasma" debido a los tonos de gris.

Los bordes de los caracteres y otras imágenes con fondo transparente no deben tener tonos de gris : normalmente se utilizan para colores intermedios entre el color de la letra/imagen y el del fondo, siendo típicamente los tonos de gris intermedios entre una letra negra y un fondo blanco. Sin embargo, con, por ejemplo, un fondo rojo los colores intermedios serían rojo oscuro. Los píxeles de borde gris darían un resultado feo y poco claro. Para un color de fondo variable no hay colores intermedios fijos adecuados.

Transparencia parcial por canales alfa

Esta imagen tiene transparencia parcial (254 niveles posibles de transparencia entre totalmente transparente y totalmente opaca). Puede ser transparente con respecto a cualquier fondo a pesar de estar suavizada.

Algunos formatos de imagen, como PNG y TIFF, también permiten transparencia parcial a través de un canal alfa, lo que resuelve el problema de limitación de bordes. En lugar de que cada píxel sea transparente o no transparente, se puede configurar en 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 gráficos para que se mezclen con el fondo. [1] Véase también monocromo o con tonos de gris y anti-aliasing . La transparencia parcial también se puede utilizar para hacer que una imagen sea menos prominente, como una marca de agua u otro logotipo; o para hacer que algo sea 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 los mismos en todos los casos. Por ejemplo, cuando se utiliza la corrección de color, ¿deberían combinarse los colores antes o después de la corrección de color?

Esta imagen muestra los resultados de superponer cada una de las imágenes PNG transparentes anteriores sobre un color de fondo #6080A0. Observe las franjas grises en las letras de la imagen del medio.
Esto muestra cómo se verían las imágenes anteriores al editarlas, por ejemplo. El patrón de cuadros grises y blancos se convertiría en transparencia.

Transparencia mediante trazado de recorte

Un enfoque alternativo a la transparencia total es utilizar un trazado de recorte . Un trazado de recorte es simplemente una forma o contorno que se utiliza junto con otros gráficos. Todo lo que se encuentra dentro del trazado es visible y todo lo que se encuentra fuera del mismo es invisible. El trazado es inherentemente vectorial, pero puede utilizarse potencialmente para enmascarar datos tanto vectoriales como de mapa de bits. El uso principal de los trazados de recorte es en archivos PostScript.

Cálculos de composición

Si bien algunas especificaciones de transparencia son vagas, otras pueden brindar detalles matemáticos sobre cómo se deben combinar dos colores. Esto brinda un ejemplo bastante simple de cómo pueden funcionar 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 van a combinar dos colores en escala de grises. Los valores de escala de grises se consideran números entre 0,0 (blanco) y 1,0 (negro). Cabe destacar que esta es solo una de las reglas posibles para la transparencia. Si trabaja con transparencia, consulte las reglas que se utilizan en su situación.

El color en un punto donde se van a combinar los colores G1 y G2 es ( G1 + G2 ) / 2. Algunas consecuencias de esto son:

( ( 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 consideramos necesariamente que un valor de gris de 0,5 esté a medio camino entre el blanco y el negro. Estos detalles pueden no tener importancia cuando se utiliza la transparencia 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 la transparencia necesitarán ver los resultados y pueden jugar con los colores o (cuando sea posible) el algoritmo para llegar a los resultados que necesitan.

Esta fórmula se puede generalizar fácilmente a los colores RGB o CMYK aplicándola a cada canal por separado. Por ejemplo, final 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 es que en cada punto de cada elemento que se va a combinar para lograr transparencia hay 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 un canal con intensidad G1y opacidad, T1el resultado será un canal con intensidad igual a (1 - T2) * G1 + G2, y 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 de archivos SVG utiliza este tipo de combinación, y este es uno de los modelos que se pueden utilizar en PDF.

Los canales alfa se pueden implementar 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 en el 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 ( versión 5 de Adobe Acrobat ), se admite la transparencia (incluida la translucidez). La transparencia en los archivos PDF permite a los creadores lograr varios efectos, como agregar sombras a los objetos, hacer que los objetos sean semitransparentes y hacer que los objetos se fusionen 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 muchos objetos superpuestos permiten opciones (como si un grupo de objetos se fusiona antes de fusionarse con el fondo o si cada objeto a su vez se fusiona con el fondo).

La transparencia de los archivos PDF es un modelo muy complejo, y su especificación original de Adobe consta de más de 100 páginas. Una de las principales causas de esta complicación es 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 no causar errores en los visores de PDF que no la entendieran, ya que simplemente mostrarían todos los elementos como completamente opacos. Sin embargo, esto era un arma de doble filo, ya que los usuarios con visores más antiguos, impresoras PDF, etc. podían ver o imprimir algo completamente diferente del diseño original.

El hecho de que el modelo de transparencia de PDF sea tan complicado significa que no cuenta con un buen soporte. Esto significa que los RIP y las impresoras a menudo tienen problemas para imprimir archivos PDF con transparencia. La solución a este problema es rasterizar la imagen o aplicar un aplanamiento de transparencia vectorial al PDF. Sin embargo, el aplanamiento de transparencia vectorial es extremadamente complejo y solo lo admiten unos pocos paquetes especializados.

Transparencia en PostScript

El lenguaje PostScript tiene un soporte limitado para la transparencia total (no parcial), según el 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 a través de dos métodos:

Nivel 2

El PostScript de nivel 2 no añade características 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. Sin embargo, esto es complejo de implementar. Además, con demasiada frecuencia se alcanzaban límites de implementación y pocos programas de aplicación, si es que había alguno, ofrecían esta técnica.

Nivel 3

El nivel 3 de PostScript agrega más opciones de transparencia para cualquier imagen rasterizada. Se puede aplicar un color transparente o una gama de colores, o 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 hacer uso de las características anteriores. Un problema más sutil surge con las vistas previas de los archivos EPS que se utilizan normalmente para mostrar la vista del archivo EPS en la pantalla. Existen técnicas viables para configurar la transparencia en la vista previa. Por ejemplo, una vista previa TIFF puede utilizar un canal alfa TIFF. Sin embargo, muchas aplicaciones no utilizan esta información de transparencia y, por lo tanto, mostrarán la vista previa como un rectángulo. Una técnica semipropietaria iniciada en Photoshop y adoptada por varias aplicaciones de preimpresión es almacenar una ruta de recorte en una ubicación estándar del EPS y utilizarla para la visualización.

Además, pocos de los programas que generan vistas previas EPS generarán información de transparencia en la vista previa.

Algunos programas han intentado evitar esto tratando todo el blanco en la vista previa como transparente, pero esto también es 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 pintar interpretando el PostScript.

Véase también

Referencias

  1. ^ Croft, Jeff. "Uso creativo de transparencias PNG en diseño web". digiwebs . Consultado el 14 de septiembre de 2020 .
  2. ^ Adobe (2005-10-02). «Manual de referencia de pdfmark» (PDF) . Consultado el 12 de agosto de 2009 .