[Gvsig_desarrolladores] Transparencia en PNG24

Jorge Gaspar Sanz Salinas jsanz en prodevelop.es
Mar Jun 13 12:01:23 CEST 2006


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);

[...]
<<---------------------------------------------------------------------------
-- 
Jorge Gaspar Sanz Salinas
Ingeniero en Geodesia y Cartografía
Prodevelop S.L. - Valencia - España
Tlf.:  96.351.06.12 - Fax:   96.351.09.68
jsanz[en]prodevelop[punto]es
http://www.prodevelop.es


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