PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Java, Batik und SVG



BlueJay
21-07-2011, 17:44
Hallo Leute,

ich versuche, mit obiger Bibliothek ein SVG in ein BufferedImage hineinzustopfen, aber da scheinen mir immer einige Bibliotheksteile zu fehlen.

Nachdem ich mit dem binären Batik-Toolkit nicht so richtig weitergekommen bin, habe ich mir die Batik-Sourcen geholt und (unter Windows 7) kompiliert. Abgesehen von etlichen Warnungen vor deprecated Code hat das auch hingehauen.

Leider bekomme ich das Ganze immer noch nicht hin.

Mein Codeabschnitt:




// SVG via Batik:
public BufferedImage svgimage(String filnam)
{
BufferedImage ima=null;
loadsave fh=new loadsave();
String instr=fh.get_ressource(filnam);
System.out.println("lese:"+filnam);
// bis hierher läuft alles nach Plan, das SVG-file ist jetzt als String in instr

try
{
StringReader sreader=new StringReader(instr); // so wurde es von Salamander verwertet, ist also auch noch ok


StringWriter swriter=new StringWriter();

TranscoderInput transin = new TranscoderInput(sreader);
TranscoderOutput transout= new TranscoderOutput(swriter);
PNGTranscoder ptrans=new PNGTranscoder();
System.out.println("Transcode");

// Hier knallt's:
ptrans.transcode(transin,transout);

ima = ptrans.createImage(breite,hoehe);
System.out.println("geladen:"+filnam);
swriter.flush();
swriter.close();
sreader.close();

}
catch (TranscoderException e) { System.out.println(e); }
catch (IOException e) { System.out.println(e); }

return ima;
}



Fehlermeldung:


Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at java.util.Properties$LineReader.readLine(Propertie s.java:418)
at java.util.Properties.load0(Properties.java:337)
at java.util.Properties.load(Properties.java:325)
at org.apache.batik.util.XMLResourceDescriptor.getPar serProps(Unknown Source)
at org.apache.batik.util.XMLResourceDescriptor.getXML ParserClassName(Unknown Source)
at org.apache.batik.transcoder.XMLAbstractTranscoder. transcode(Unknown Source)
at org.apache.batik.transcoder.SVGAbstractTranscoder. transcode(Unknown Source)
at svgmahjongg.svgpanel.svgimage(svgpanel.java:237)


Die letzte Fehlermeldung gibt an, wo es bei mir geknallt hat (s.oben).

Verfolgt man die vorletzte im transcoder, so fehlen im org.apache.batik.transcoder.SVGAbstractTranscoder. transcode weitere Bibliotheken, insbesondere im org.w3c-Zweig.

Der ganze Zweig org.w3c.dom ist gähnend leer.

Die Quellen sind bereits von
http://xmlgraphics.apache.org/batik/


Wo finde ich eine komplette Batik-Bibilothek für Windows 7?

Gruß,
Ulrike