Hi, i'm new to Batik. I've searched the archive to find an answer to my problem, but I didn't find anything.
We're developing a tool to visualise networks. We'd like to be able to export them to different graphic formats. Exporting to svg is no problem. For export to JPG, TIF and PNG, i first create a temporary svg file and then transcode that file to one of those formats. What seems to be the problem: the svg file doesn't have width or height attributes. Displaying a 1000*1000 svg file is no problem, but when I transcode it, it clips the image to the upper left 400*400 pixels. Is there a way to solve this? Thanks in advance, Brecht Code: /** * Export a visualisation to the SVG format * * @param vis the visualisation to be exported * @param fileName the filename under which it should be saved * @return the filename */ public static File exportToSVG(Visualisation vis, String fileName){ logger.debug(""); File file = new File(fileName); DOMImplementation domImpl = GenericDOMImplementation.getDOMImplementation(); Document document = domImpl.createDocument(null, "svg", null); SVGGeneratorContext ctx = SVGGeneratorContext.createDefault(document); ctx.setComment("Generated by Trs-visualisation"); SVGGraphics2D svgGenerator = new SVGGraphics2D(ctx, false); // render visualisation height 1000 and width 1000 vis.render(svgGenerator, 1000, 1000, null); boolean useCSS = false; try { Writer out = new OutputStreamWriter(new FileOutputStream(file), "UTF-8"); svgGenerator.stream(out, useCSS); } catch (IOException e) { logger.error(e); } return file; } /** * Export a visualisation to the JPG format * * @param vis the visualisation to be exported * @param fileName the filename under which it should be saved * @return the filename */ public static File exportToJPG(Visualisation vis, String filename) { logger.debug(""); File file = new File(filename); JPEGTranscoder t = new JPEGTranscoder(); t.addTranscodingHint(JPEGTranscoder.KEY_QUALITY, new Float(1)); t.addTranscodingHint(ImageTranscoder.KEY_WIDTH, new Float(1000)); //t.addTranscodingHint(ImageTranscoder.KEY_HEIGHT, new Float(1000)); transcode(vis, file, t); return file; } /** * Create an image from a visualisation * * @param vis the visualisation * @param file the filename * @param t the transcoder used to create the image */ private static void transcode(Visualisation vis, File file, ImageTranscoder t){ logger.debug(""); String svgURI = null; try { svgURI = exportToSVG(vis, "temp.svg").toURL().toString(); } catch (MalformedURLException e) { logger.error(e); } TranscoderInput input = new TranscoderInput(svgURI); OutputStream ostream = null; try { ostream = new FileOutputStream(file); } catch (FileNotFoundException e3) { // TODO Auto-generated catch block e3.printStackTrace(); } TranscoderOutput output = new TranscoderOutput(ostream); try { t.transcode(input, output); } catch (TranscoderException e1) { logger.error(e1); } try { ostream.flush(); ostream.close(); } catch (IOException e2) { logger.error(e2); } new File("temp.svg").delete(); } -- Light, sound, drums, guitar, let there be rock! --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]