I am attempting to render an SVG image file as a java.awt.Image, or one of its subclasses like java.awt.image.BufferedImage. I have attempted to directly render the SVG file and I have also attempted to transcode it. I am currently using Batik version 1.1.
I have achieved the most success with the following code snippet; however, the BufferedImage that is returned is the correct shape without any colors or details being drawn. I feel that I am missing some step in the rendering process, and I have looked in detail at the Batik documentation and mailing list archives to no avail. public static Image renderSVGDocument( URL url, int x, int y ){ // Create a rendereing context. UserAgent userAgent = new UserAgentAdapter(); DocumentLoader loader = new DocumentLoader( userAgent ); Document doc = null; try { doc = loader.loadDocument( url.toString() ); } catch( Exception ex ){ ex.printStackTrace(); } BridgeContext ctx = new BridgeContext(userAgent, loader); // Create a buffered image. BufferedImage bufImg = new BufferedImage( x, y, BufferedImage.TYPE_INT_ARGB ); Graphics2D graphics = GraphicsUtil.createGraphics( bufImg ); // Create a builder and root node. GVTBuilder builder = new GVTBuilder(); GraphicsNode root = null; // Render the SVG image. try { root = builder.build(ctx, doc); root.paint(graphics); } catch (Exception e) { e.printStackTrace(); } return bufImg; } Thanks in advance for your assistance! Warren W. Thompson Beer is proof that God loves us and wants us to be happy. --Benjamin Franklin --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]