Revision 18321 trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/georeferencing/ui/zoom/ViewMapRequestManager.java
ViewMapRequestManager.java | ||
---|---|---|
24 | 24 |
import java.awt.geom.Rectangle2D; |
25 | 25 |
import java.awt.image.BufferedImage; |
26 | 26 |
|
27 |
import org.gvsig.raster.datastruct.Extent; |
|
28 |
import org.gvsig.raster.util.RasterUtilities; |
|
29 | 27 |
import org.gvsig.rastertools.georeferencing.view.BaseZoomView; |
30 | 28 |
|
31 | 29 |
import com.iver.cit.gvsig.fmap.MapControl; |
... | ... | |
100 | 98 |
if(extent == null) |
101 | 99 |
return lyrs.getFullExtent(); |
102 | 100 |
|
103 |
//Ajustamos el extent al del raster |
|
104 |
Extent ext = new Extent(extent); |
|
105 |
Extent extSelection = RasterUtilities.calculateAdjustedView(ext, new Extent(lyrs.getFullExtent())); |
|
106 |
|
|
107 | 101 |
//Obtenemos el viewport y calculamos la matriz de transformaci?n |
108 | 102 |
ViewPort vp = new ViewPort(null); |
109 | 103 |
vp.setImageSize(new Dimension(view.getCanvasWidth(), view.getCanvasHeight())); |
110 | 104 |
vp.setExtent(extent); |
111 | 105 |
|
112 |
//Calculamos el punto del canvas de la vista donde se empieza a dibujar el buffer de la imagen |
|
113 |
Point2D pt = new Point2D.Double(extSelection.getULX(), extSelection.getLRY()); |
|
114 |
vp.getAffineTransform().transform(pt, pt); |
|
115 |
|
|
116 | 106 |
try { |
117 | 107 |
//Dibujamos a trav?s del render de la capa en un graphics como el de la vista |
118 | 108 |
BufferedImage initImg = new BufferedImage(view.getCanvasWidth(), view.getCanvasHeight(), BufferedImage.TYPE_INT_RGB); |
119 | 109 |
lyrs.draw(initImg, (Graphics2D)initImg.getGraphics(), vp, new CancellableClass(), mapControl.getMapContext().getScaleView()); |
120 | 110 |
|
121 |
//BufferedImage buf = new BufferedImage(view.getCanvasWidth(), view.getCanvasHeight(), BufferedImage.TYPE_INT_RGB); |
|
122 |
//((Graphics2D)buf.getGraphics()).drawImage(initImg, (int) Math.round(pt.getX()), (int) Math.round(pt.getY()), null); |
|
123 |
|
|
124 | 111 |
setDrawParams(initImg, extent); |
125 | 112 |
|
126 | 113 |
} catch (Exception e) { |
Also available in: Unified diff