[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