2010-03-07 10 views
6

Mi sto giocando con Java e SVG Salamander ma non riesco a capire come eseguire il rendering di un semplice file SVG in un JPanel. Qualcuno potrebbe darmi un breve esempio? Ho cercato di seguire il tutorial libero nel sito ufficiale, ma non sono riuscito a trovare un codice semplice per ottenere una migliore comprensione.Esempio di SVG Salamander?

Quindi, un codice è molto apprezzato! Grazie!

risposta

3
+0

Sto provando questo esempio ma non funziona. Il codice è esattamente lo stesso con l'eccezione del metodo initComponents() che viene generato automaticamente da NetBeans. Ho postato una domanda al riguardo http://stackoverflow.com/questions/14936597/producing-an-svg-diagram-on-java – user1028408

6

In primo luogo, è necessario creare in qualche modo il diagramma (com.kitfox.svg.SVGDiagram).

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

Ora, quando si desidera rendere il file - in genere da paintComponent del pannello() il metodo - si solo bisogno di fare (con g essendo l'istanza Graphics2D):

diagram.render(g); 

e (come solito?), se vuoi disegnarlo in qualche modo modificato:

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