Revision 28321 trunk/libraries/libRaster/src/org/gvsig/raster/grid/render/ImageDrawer.java

View differences:

ImageDrawer.java
21 21
import java.awt.Image;
22 22
import java.awt.image.BufferedImage;
23 23

  
24
import org.apache.log4j.Logger;
24 25
import org.gvsig.raster.buffer.RasterBuffer;
25 26
import org.gvsig.raster.dataset.IBuffer;
26 27
import org.gvsig.raster.grid.GridTransparency;
......
71 72
		if (rasterBuf == null || width == 0 || height == 0)
72 73
			return null;
73 74

  
74
		BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
75
		try { // Temporal para la traza de un error aleatorio
76
			BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
75 77

  
76
		// Dibujado de raster de 1 o 2 bandas.
77
		// adaptBufferToRender(replicateBand, renderBands);
78
			// Dibujado de raster de 1 o 2 bandas.
79
			// adaptBufferToRender(replicateBand, renderBands);
78 80

  
79
		if (rasterBuf.getDataType() != IBuffer.TYPE_BYTE)
80
			rasterBuf = convertToByte(rasterBuf);
81
			if (rasterBuf.getDataType() != IBuffer.TYPE_BYTE)
82
				rasterBuf = convertToByte(rasterBuf);
81 83

  
82
		// Asigna la banda de transparencia si existe esta.
83
		// assignTransparencyBand(renderBands);
84
			// Asigna la banda de transparencia si existe esta.
85
			// assignTransparencyBand(renderBands);
84 86

  
85
		byte[] data = new byte[rasterBuf.getBandCount()];
87
			byte[] data = new byte[rasterBuf.getBandCount()];
86 88

  
87
		GridTransparency transparency = rendering.getLastTransparency();
88
		if (transparency != null && transparency.isTransparencyActive()) {
89
			if (transparency.existAlphaBand() &&
90
					transparency.getAlphaBand() != null &&
91
					(transparency.getAlphaBand().getDataType() != IBuffer.TYPE_BYTE))
92
				transparency.setAlphaBand(convertToByte(transparency.getAlphaBand()));
93
			drawWithTransparency(image, data, (step != null));
94
		} else
95
			drawByte(image, data, (step != null));
89
			GridTransparency transparency = rendering.getLastTransparency();
90
			if (transparency != null && transparency.isTransparencyActive()) {
91
				if (transparency.existAlphaBand() &&
92
						transparency.getAlphaBand() != null &&
93
						(transparency.getAlphaBand().getDataType() != IBuffer.TYPE_BYTE))
94
					transparency.setAlphaBand(convertToByte(transparency.getAlphaBand()));
95
				drawWithTransparency(image, data, (step != null));
96
			} else
97
				drawByte(image, data, (step != null));
96 98

  
97
		step = null;
98
		return image;
99
			step = null;
100
			return image;
101
		} catch (OutOfMemoryError error) { // Temporal para la traza de un error
102
			// aleatorio
103
			Logger.getLogger(this.getClass()).debug(
104
					"Buffer: " + width + " " + height + " RenderBands: "
105
					+ renderBands, error);
106
		}
107
		return null;
99 108
	}
100 109

  
101 110
	/**

Also available in: Unified diff