2010-03-07 24 views
6

Estoy jugando con Java y SVG Salamander, pero no puedo entender cómo renderizar un archivo SVG simple en un JPanel. ¿Podría alguien darme un breve ejemplo? Intenté seguir el tutorial flexible en el sitio oficial, pero no pude encontrar un código simple para obtener una mejor comprensión.Ejemplo de SVG Salamander?

Por lo tanto, algunos códigos son realmente apreciados! ¡Gracias!

Respuesta

3
+0

Estoy intentando este ejemplo, pero no está funcionando. El código es exactamente el mismo con la excepción del método initComponents() que NetBeans genera automáticamente. He publicado una pregunta al respecto http://stackoverflow.com/questions/14936597/producing-an-svg-diagram-on-java – user1028408

6

En primer lugar, es necesario crear alguna manera el diagrama (com.kitfox.svg.SVGDiagram).

File f = new File(mysvgfile); 
SVGUniverse svgUniverse = new SVGUniverse(); 
SVGDiagram diagram = svgUniverse.getDiagram(svgUniverse.loadSVG(f.toURL())); 

Ahora, cuando se quiere hacer que su archivo - típicamente de paintComponent del panel() método - sólo tiene que hacer (con g siendo la instancia Graphics2D):

diagram.render(g); 

Y (como se ¿de costumbre?), si desea dibujarlo de alguna manera modificada:

AffineTransform oldTransform = g.getTransform(); 
g.scale(...); 
g.translate(...); 
... 
diagram.render(g); 
g.setTransform(oldTransform);