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:
Code:
// 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
Lesezeichen