Revision 20273

View differences:

trunk/libraries/libRaster/src/org/gvsig/raster/grid/GridTransparency.java
134 134
		double a = opacity;
135 135

  
136 136
		int alphaRange = processRange(r, g, b);
137
		if (alphaRange != 255) {
137
		if (alphaRange != 255)
138 138
			a *= (alphaRange / 255D);
139
		}
140 139

  
141
		if (existAlphaBand() && getAlphaBand() != null) {
140
		if (existAlphaBand() && getAlphaBand() != null)
142 141
			a *= (getAlphaBand().getElemByte(line, col, 0) & 0xff) / 255D;
143
		}
144 142

  
145 143
		// Quitada la multiplicacion para optimizar
146 144
		// a = (int)(a * 255D);
trunk/libraries/libRaster/src/org/gvsig/raster/grid/render/ImageDrawer.java
85 85
		byte[] data = new byte[rasterBuf.getBandCount()];
86 86

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

  
93 95
		step = null;

Also available in: Unified diff