Revision 1726 org.gvsig.raster.georeferencing/trunk/org.gvsig.raster.georeferencing/org.gvsig.raster.georeferencing.swing/org.gvsig.raster.georeferencing.swing.impl/src/main/java/org/gvsig/raster/georeferencing/swing/impl/view/CanvasZone.java

View differences:

CanvasZone.java
21 21
 */
22 22
package org.gvsig.raster.georeferencing.swing.impl.view;
23 23

  
24
import java.awt.AlphaComposite;
24 25
import java.awt.Color;
25 26
import java.awt.Graphics;
26 27
import java.awt.Graphics2D;
27 28
import java.awt.event.MouseEvent;
28 29
import java.awt.event.MouseListener;
29 30
import java.awt.event.MouseMotionListener;
31
import java.awt.geom.AffineTransform;
30 32
import java.awt.geom.Point2D;
31 33
import java.awt.geom.Rectangle2D;
32 34
import java.awt.image.BufferedImage;
......
95 97
     */
96 98
    private ViewEvent              viewEvent            = null;
97 99
    
100
    private AffineTransform        panAT                = new AffineTransform();
101
    //private BufferedImage          draggedImage         = null;
102
    
98 103
    /**
99 104
	 * Asigna los par?metros de dibujado
100 105
	 * @param img Buffer con un ?rea de datos
......
322 327
		Rectangle2D ext = getCanvasExtent(w, h, scale);
323 328
		
324 329
		if(lastImage == null || !equal(lastExtent, ext)) { 
325
			lastImage = new BufferedImage((int)w, (int)h, BufferedImage.TYPE_INT_RGB);
330
			lastImage = new BufferedImage((int)w, (int)h, BufferedImage.TYPE_INT_ARGB);
326 331
			lastImageWithLayers = new BufferedImage((int)w, (int)h, BufferedImage.TYPE_INT_RGB);
332
		} else if(!panAT.isIdentity()) {
333
			//Cuando se hace un Pan se dibuja el fondo y un imagen superpuesta transparente
334
			g.drawImage(lastImageWithLayers, 0, 0, null);
335
			((Graphics2D)g).transform(panAT);
336
			AlphaComposite composite = AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, 0.4f);
337
			((Graphics2D)g).setComposite(composite);
338
			g.drawImage(lastImage, 0, 0, null);
339
			return;
327 340
		}
328
				
341

  
329 342
		if(clear) {
330 343
			g.setColor(backgroundColor);
331 344
			g.fillRect(0, 0, w, h);
......
617 630
	public void setForceRequest(boolean forceRequest) {
618 631
		this.forceRequest = forceRequest;
619 632
	}
633
	
634
	/*public BufferedImage getLastBufferedImage() {
635
		return lastImage;
636
	}*/
637
	
638
	public AffineTransform getAffineTransform() {
639
		return panAT;
640
	}
620 641
}

Also available in: Unified diff