Bonjour,
Aujourd'hui je crée des fichier SVG avec Batik que je sauvegarde ensuite.
J'aimerais pouvoir ensuite les re-ouvrir à nouveau et les transformer en objet SVGGraphics2D pour faire des ajouts.
Mais voila impossible de les transformer en SVGGraphics2D correctement. Mon objet contient bien des nodes, mais tous null (grosso modo) et si je ré-enregistre, et bien le fichier est vide ne contenant que les entête.
Voici le code que j'utilise pour ouvrir le fichier
puis la transformation en SVGGraphics2D
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 private static SVGDocument loadSVGDocument(String uri) { String parser = XMLResourceDescriptor.getXMLParserClassName(); SAXSVGDocumentFactory factory = new SAXSVGDocumentFactory(parser); SVGDocument svgDocument = null; try { //svgDocument = factory.createSVGDocument(IMAGE_SVG); svgDocument = factory.createSVGDocument(uri); } catch (IOException e) { System.out.println(e.getMessage()); } return svgDocument; }
Impossible de comprendre ce qui ne va pas !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SVGDocument svgDocument = loadSVGDocument(TEST_SVG); SVGGraphics2D g = new SVGGraphics2D(svgDocument);
Voila le fichier généré (même fonction que celle d'enregistrement de l'initial qui fonctionne)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'> <svg style="stroke-dasharray:none; shape-rendering:auto; font-family:'Dialog'; text-rendering:auto; fill-opacity:1; color-interpolation:auto; color-rendering:auto; font-size:12px; fill:black; stroke:black; image-rendering:auto; stroke-miterlimit:10; stroke-linecap:square; stroke-linejoin:miter; font-style:normal; stroke-width:1; stroke-dashoffset:0; font-weight:normal; stroke-opacity:1;" xmlns="http://www.w3.org/2000/svg" contentScriptType="text/ecmascript" preserveAspectRatio="xMidYMid meet" xmlns:xlink="http://www.w3.org/1999/xlink" zoomAndPan="magnify" version="1.0" contentStyleType="text/css" ><!--Generated by the Batik Graphics2D SVG Generator--><defs id="genericDefs" /><g /></svg >
Partager