package com.revolsys.swing.map; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import com.revolsys.geometry.model.BoundingBox; import com.revolsys.raster.BufferedGeoreferencedImage; import com.revolsys.swing.map.layer.Project; public class ImageViewport extends GraphicsViewport2D { private final BufferedImage image; public ImageViewport(final Project project, final int width, final int height, final BoundingBox boundingBox) { this(project, width, height, boundingBox, BufferedImage.TYPE_INT_ARGB_PRE); } public ImageViewport(final Project project, final int width, final int height, final BoundingBox boundingBox, final int imageType) { super(project, width, height, boundingBox); this.image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB_PRE); setGraphics((Graphics2D)this.image.getGraphics()); } public ImageViewport(final Viewport2D parentViewport) { this(parentViewport.getProject(), parentViewport.getViewWidthPixels(), parentViewport.getViewHeightPixels(), parentViewport.getBoundingBox()); } public ImageViewport(final Viewport2D parentViewport, final int imageType) { this(parentViewport.getProject(), parentViewport.getViewWidthPixels(), parentViewport.getViewHeightPixels(), parentViewport.getBoundingBox(), imageType); } public BufferedGeoreferencedImage getGeoreferencedImage() { final BoundingBox boundingBox = getBoundingBox(); return new BufferedGeoreferencedImage(boundingBox, this.image); } public BufferedImage getImage() { return this.image; } }