From: andyuk <an...@gm...> - 2007-09-08 10:20:00
|
Hi, My code for saving a map image to disk is working, but not for very large maps/images. The map is drawn correctly on screen, but the file output is blank or only a few features are drawn. The JMapPane (jmp) class being used is taken from the geotools demo. I am using the StreamingRenderer class. I suspect that not all features are in memory so they are not all written to the image. I have put this function i= n the same thread (appGUI) as the JMapPane class so it should be thread safe. The ShapefileRenderer didn't work since it complained about my Mercator projection. 07-Sep-2007 14:14:24 org.geotools.renderer.shape.ShapefileRenderer computeScale WARNING: Longitude 180=C2=B001.1'W is out of range (=C2=B1180=C2=B0). org.geotools.referencing.operation.projection.PointOutsideEnvelopeException= : Longitude 180=C2=B001.1'W is out of range (=C2=B1180=C2=B0). What can I try next? public void saveImage(String filePath){ logger.debug("Start: saveImage(" + filePath + ")"); final int w =3D jmp.getWidth(); final int h =3D jmp.getHeight(); logger.debug("w:" + w + " h:"+ h); =20 BufferedImage bufferedImage =3D new BufferedImage(jmp.getBounds().width, jmp.getBounds().height, BufferedImage.BITMASK); =20 Graphics2D g2 =3D bufferedImage.createGraphics(); g2.setComposite(AlphaComposite.Src); // set transparency g2.fillRect(0, 0, bufferedImage.getWidth(), bufferedImage.getHeight()); =20 jmp.paint(g2); =20 try { ImageIO.write(bufferedImage, "png", new File(filePath)); } catch (Exception e) { e.printStackTrace(); } =20 g2.dispose(); =20 logger.debug("End: saveImage(" + filePath + ")"); } =09 -- Andy --=20 View this message in context: http://www.nabble.com/Saving-images-and-Strea= mingRenderer-issues-tf4401289.html#a12555148 Sent from the geotools-gt2-users mailing list archive at Nabble.com. |