package org.geotoolkit.pending.demo.coverage; import java.awt.Color; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import javax.swing.UIManager; import javax.swing.plaf.metal.MetalLookAndFeel; import org.geotoolkit.coverage.grid.GridCoverage2D; import org.geotoolkit.coverage.grid.GridCoverageBuilder; import org.apache.sis.geometry.GeneralEnvelope; import org.geotoolkit.gui.swing.render2d.JMap2DFrame; import org.geotoolkit.map.CoverageMapLayer; import org.geotoolkit.map.MapBuilder; import org.geotoolkit.map.MapContext; import org.geotoolkit.pending.demo.Demos; import org.apache.sis.referencing.CommonCRS; import org.geotoolkit.style.DefaultStyleFactory; import org.geotoolkit.style.MutableStyleFactory; import org.geotoolkit.style.StyleConstants; public class CustomCoverageDemo { public static final MutableStyleFactory SF = new DefaultStyleFactory(); public static void main(String[] args) throws Exception { Demos.init(); UIManager.setLookAndFeel(new MetalLookAndFeel()); //first create an image final BufferedImage img = new BufferedImage(500, 500, BufferedImage.TYPE_INT_ARGB); final Graphics2D g2d = img.createGraphics(); g2d.setColor(Color.GREEN); g2d.fillRect(0, 0, 500, 500); //set it's envelope final GeneralEnvelope env = new GeneralEnvelope(CommonCRS.WGS84.normalizedGeographic()); env.setRange(0, 0, 100); env.setRange(1, 0, 100); //create the coverage final GridCoverageBuilder gcb = new GridCoverageBuilder(); gcb.setEnvelope(env); gcb.setRenderedImage(img); final GridCoverage2D coverage =gcb.getGridCoverage2D(); //display it final MapContext context = MapBuilder.createContext(); final CoverageMapLayer cl = MapBuilder.createCoverageLayer(coverage, SF.style(StyleConstants.DEFAULT_RASTER_SYMBOLIZER), "coverage"); context.layers().add(cl); JMap2DFrame.show(context); } }