Herramientas Personales
Acciones de Documento

Gestión de la Transparencia

por Victor AcevedoÚltima modificación 10/06/2008 16:50

Especificación de requisitos

La transparencia puede venir dada desde distintos sitios:

Transparencia asociada al dataset.

  • Un fichero raster puede tener un color que esté especificado como transparente. Este puede encontrarse en distintos sitios: Información de transparencia en la cabecera del raster (Valores NO_DATA), Información que aparece en los metadatos del raster
  • Un fichero raster puede tener una banda que sea usada como máscara para aplicar transparencia sobre las demás. Esto es dependiente del formato PNG, Tiff y otros pueden gestionarlo.
  • Un fichero raster puede tener asociada una tabla de color con un valor de transparencia por cada entrada de la tabla.

Transparencia asignada por el usuario.

  • Un usuario puede crear tablas de color asociadas a rasters monobanda con entradas transparentes. El alpha para cada entrada puede ser distinto.
  • Un usuario puede tener transparencia asociada a distintos valores de pixel. El alpha para cada rango puede ser distinto.
  • Un usuario puede asignar un nivel de opacidad a toda la capa raster.
  • Un usuario puede asignar un alpha a un área delimitada independientemente de los valores de pixel incluidos dentro del área.

Tratamiento de la transparencia desde distintas fuentes

Existen 4 categorias distintas de transparencia

  • Opacidad. Nivel de opacidad de la capa completa. Podemos tener distinta información de opacidad desde distintos puntos. A la hora de representar el raster se mezclaran las opacidades de forma porcentual. Por ejemplo, si tenemos dos objetos con información de opacidad uno con opacidad del 50% y otro con opacidad del 25% aplicaremos una opacidad de (0.5 * 0.25 = 0.125).
  • Por valor de Pixel. Un valor alpha por rango de colores (RGB). Podemos tener información de rangos desde distintos puntos. La mezcla de rangos será la acumulación de estos y obteniendo rangos con las intersecciones de estos. Por ejemplo si tenemos un rango con valor de alpha 50 [0 - 10] y otro [5 - 15] como ambos alpha coinciden obtendremos un rango único [0 - 15]. Si los alphas fueran distintos esto no sería aplicable. Estos rangos pueden venir de:
    • Entrada de un tabla de color
    • Selección desde una interfaz de usuario
    • Información proporcionada por la fuente (metadatos o cabecera)
  • Por máscara. Una matriz de bytes del mismo tamaño de la capa sirve de máscara para la aplicación de transparencia a cada pixel. Si existen varias máscaras podemos obtener una máscara única aplicando la misma operación que en opacidad para cada pixel. La selección de áreas dentro de una capa por médio de poligonos son un ejemplo de la generación de una máscara para visualizar esas áreas como transparentes. Cuando un raster tiene una banda marcada como Alpha en su interpretación de color esta es tratada como una máscara de transparencia a la hora de ser visualizada.
  • Por valor de dato. Las capas pueden tener un valor denominado NoData el cual puede ser tratado a la hora de visualizar como transparente.

Diseño

La transparencia está asociada a un dataset como una propiedad de este. Esta transparencia puede leerse en la carga del dataset o ser asignada posteriormente por el usuario. El objeto que tiene esta información de transparencia es Transparency que tiene cuatro atributos que corresponden con las 4 categorias de transparencia. Una imagen es renderizada a través de un Grid. Para que este grid pueda ser visualizado con zonas transparentes debe tener asociado un GridTransparency. Este objeto que hereda de transparency es el encargado de procesar un valor RGB con las cuatro condiciones de transparencia. Si cumple alguna condición el pixel es dibujado como transparente.

../imagenes/transpa
« Enero 2009 »
Do Lu Ma Mi Ju Vi
123
45678910
11121314151617
18192021222324
25262728293031
 

Hecho con Plone CMS, el Sistema de Gestión de Contenidos de Fuentes Abiertos

Este sitio cumple con los siguientes estándares: