[Gvsig_desarrolladores] Transparencia en PNG24

ricardo.borrallo en telvent.abengoa.com ricardo.borrallo en telvent.abengoa.com
Mar Jun 13 15:40:43 CEST 2006


Hola Jorge y Nacho.

Veo dos posibles causas:

1.- Por el código de gvSIG que has anotado, puede ser que no se manipule
bien las imagenes transparentes. Veo que solo tiene en cuenta los canales
RGB y se necesita tener tambien en cuenta en canal alfa.

2.-Por otro lado, Nacho Brodin ha conseguido leer una imagen transparente
desde un servidor WMS de la NASA. Puede, Jorge, que ArcIMS no esté
generando correctamente las imagenes. Yo, generalmente, para las
transparencias trabajo con PNG de 8 bits y le añado la siguiente líneas en
el fichero AXL.
<PROPERTIES>
........
<BACKGROUND color="255,255,255" transcolor="255,255,255" />

</PROPERTIES>

Esta línea se la tienes que añadir con un editor de texto. La herramienta
Author no lo hace.

Saludos.


Ricardo Borrallo Asencio.
Telvent Interactiva.


Nacho Brodin <brodin_ign en gva.es>
Nacho Brodin
Enviado por: gvsig_desarrolladores-bounces en runas.cap.gva.es
13/06/2006 13:12
Por favor, responda a Lista de Desarrolladores de gvSIG
                                                                                                                       
 Para:   Lista de Desarrolladores de gvSIG <gvsig_desarrolladores en runas.cap.gva.es>                                    
                                                                                                                       
 cc:                                                                                                                   
                                                                                                                       
 Asunto: Re: [Gvsig_desarrolladores] Transparencia en PNG24                                                            
                                                                                                                       





Hola,
He estado probando el cliente WMS haciendo peticiones de png con banda de
transparencia y parece que trata bien este tipo de fichero. Esta prueba la
he
hecho con el servidor de la nasa, por si quieres hacer alguna prueba.
http://wms.jpl.nasa.gov/wms.cgi

Sobre la imagen que tienes puedes hacer un "info" con la herramienta de
comandos gdalinfo que viene en la instalación de Gdal para ver dos cosas:
-El driver que gdal debe decir que está usando es el de PNG. Para
comprobarlo,
en la salida de gdalinfo debe aparecer la línea

Driver: PNG/Portable Network Graphics

Por otro lado esta misma herramienta debe informarte de que la imagen debe
tener cuatro bandas. En la cuarta el ColorInterp debe ser igual a Alpha.

En última instancia, si la imagen cumple estos requisitos y no se muestra
la
transparencia podrías hacernos llegar una imagen  para poder probarla.

Nacho Brodin
Equipo de desarrollo de gvSIG.

El Martes 13 Junio 2006 12:01, Jorge Gaspar Sanz Salinas escribió:
> Hola a todos,
>
> En Prodevelop estamos desarrollando el cliente ArcIMS para gvSIG.
> Tenemos un problema al dibujar mapas que se reciben en formato PNG de 24
> bits. Aunque el fichero se recibe con un color transparente, gvSIG no es
> capaz de reconocer dicho color y aunque el mapa aparece, el fondo se
> dibuja de color blanco.
>
> He probado a importar un fichero de este tipo a un Mapa de gvSIG y
> ocurre lo mismo, el fondo no se consigue tratar como un color
> transparente sino que aparece en blanco opaco.
>
> El último punto en el que nuestra extensión dibuja la capa es en el
> método draw de la clase PxRaster. El principio del método que copio más
> abajo es prácticamente idéntico al de la extensión WMS y funciona
> perfectamente con GIF, PNG de 8 bits y JPG (que son el resto de formatos
> que devuelve un servicio de imágenes de ArcIMS).
>
> Dado que en la vista de mapa también se produce el mismo efecto entiendo
> que el bug no está en este código sino en el tratamiento de este tipo
> concreto de imágenes. ¿Es correcto?
>
> Un saludo y feliz martes 13 ;)
>
>
<<-------------------------------------------------------------------------
>-- private void rasterProces(Graphics2D g, ViewPortData vpData, File file)
{
>
> rasterFile = new GdalFile(vpData.getProjection(),
file.getAbsolutePath());
> raster = new PxRaster(rasterFile, null, rasterFile.getExtent());
>
> if (this.filterStack != null)
> raster.filterStack = this.filterStack;
>
> raster.setTransparency(false);
>
> if (this.transparency == -1 && !firstLoad);
> else
> raster.setTransparency(this.transparency);
>
> raster.setBand(GeoRasterFile.RED_BAND, rband);
> raster.setBand(GeoRasterFile.GREEN_BAND, gband);
> raster.setBand(GeoRasterFile.BLUE_BAND, bband);
>
> if (this.stackManager != null)
> raster.setStackManager(this.stackManager);
>
> raster.draw(g, vpData);
>
> [...]
>
<<-------------------------------------------------------------------------
>--

_______________________________________________
gvSIG_desarrolladores mailing list
gvSIG_desarrolladores en runas.cap.gva.es
http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores





Más información sobre la lista de distribución gvSIG_desarrolladores