# Schachbrett mit SVG/Batik: Performance?



## Taschenschieber (30. Nov 2009)

Hallo,

ich bastele derzeit an einem kleinen Schachprogramm, für das ich die Grafik gerne auf SVG umstellen würde. Standard für so was ist ja Batik.

Dazu zwei Fragen:

1) Bietet Batik eine einfache Möglichkeit, die SVGs zur Laufzeit in Rastergrafiken umzuwandeln? Bisher habe ich dazu zwar die Transcoder-API gefunden, die aber nur Konvertierung von einem Dateiformat in ein anderes zu bieten scheint. Habe ich da was entscheidendes übersehen?

2) Wie sieht es dabei mit Performance aus? Gut, man kann die Rastergrafiken dann ja cachen, aber sind Resizes noch flüssig möglich, wenn dabei 13 Vektorgrafiken neu gerendert werden müssen?

Gruß,
Stephan


----------



## Schandro (30. Nov 2009)

1.) bsp. für SVG to BufferedImage: 'Code example: How to create a java.awt.Image from a SVG file using batik' - MARC


----------



## Taschenschieber (1. Dez 2009)

Danke, das hilft mir schon mal weiter. Wegen Performance probier ich's einfach mal aus...


----------



## Taschenschieber (4. Dez 2009)

Na ja, jetzt habe ich das folgende Problemchen:


```
private static BufferedImage getSVGAsRaster(SVGDocument document, int size){
    //einige uninteressante Codezeilen

    SVGRect bounds = document.getRootElement().getBBox();
    //noch mehr uninteressanter Code
}
```

Dummerweise ist bounds nach dieser Zuweisung null. Exceptions treten keine auf, außer einer NullPointerException beim Versuch, auf bounds zuzugreifen (logisch!)

Die Batik-Dokumentation hierzu ist ja unglaublich aussagekräftig, daher mal eine Frage in die Runde: Hat schon mal wer mit SVGSVGElement#getBBox() gearbeitet und ähnliche Probleme gehabt? Wenn ja, was mache ich falsch?

Gruß,
Stephan


----------

