2016-07-07 2 views
0

Ich versuche, eine .svg-Datei in ein .jpg oder .png Datei zu drehen. Im Moment versuche ich Apache Batik Transcoder (Link) zu verwenden.JPG von SVG mit Apache Batik

Dies ist mein Code jetzt: (offizieller Code von here)

// Create a JPEG transcoder 
JPEGTranscoder t = new JPEGTranscoder(); 

// Set the transcoding hints. 
t.addTranscodingHint(JPEGTranscoder.KEY_QUALITY, 
    new Float(.8)); 

// Create the transcoder input. 
String svgURI = new File("C:/test.svg").toURL().toString(); 
TranscoderInput input = new TranscoderInput(svgURI); 

// Create the transcoder output. 
OutputStream ostream = new FileOutputStream("C:/out.jpg"); 
TranscoderOutput output = new TranscoderOutput(ostream); 

// Save the image. 
t.transcode(input, output); 

// Flush and close the stream. 
ostream.flush(); 
ostream.close(); 
System.exit(0); 

Aber es gibt meinen diesen Fehler:

Exception in thread "main" org.apache.batik.transcoder.TranscoderException: null

Enclosed Exception:

null

at org.apache.batik.transcoder.image.ImageTranscoder.transcode(Unknown Source)

at org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(Unknown Source)

at org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(Unknown Source)

at SaveAsJPEG.main(SaveAsJPEG.java:27)

Ich weiß nicht, was da dies zu tun ist der Code von ihrer Website (!). Also, wenn Sie wissen, wie Sie es lösen können oder eine andere Idee haben, wie ich meine .svg Bilder in .jpg und .png verwandeln kann, lassen Sie es mich wissen.

+0

Kennen Sie JMagick (basierend auf ImageMagick)? – Yaron

+0

Tut Datei "C:/test.svg "exist? –

+0

@ErwinBolwidt ja es existiert – JetStream

Antwort

1

Nun, ich habe jetzt die Lösung für mein Problem gefunden. Es scheint, wie Batik 1.8 (die ich verwendet habe) funktioniert nicht richtig (oder zumindest nicht funktioniert in der Art, wie sie es sagen, auf ihre API-Seite.

ich jetzt verwendet Batik 1,7 wich funktioniert gut So, jetzt ist alles in Ordnung und für alle, die Batik verwenden möchten: Ich schlage vor, 1.7 zu verwenden, da die Dokumentation nicht über 1.8 steht.

+0

welche Java-Version verwenden Sie ?? –