Tonny Kohar wrote:

2) Why does GraphicsNode.getBounds()sometimes return really tiny
rectangles? (Drawing many of the sample SVGs included with Batik
renders them in a 1 or 2 pixel box, and I have to zoom the hell out of
the transform in order to see anything. Still, other SVG samples
display at the proper size.)

I suspect this is caused by loading the SVG before the JSVGCanvas has a size. If the canvas doesn't have a size (or size is zero) it set's it's size to 1 for purposes of calculating the viewing transform.

   This raises the other issue I was going to mention which is the
JSVGCanvas may not be what you want to be using here.  A better
match might be to use the batik.transcoder.SVGAbstractTranscoder.
This will build the GVT tree and set the viewing transform in a
bit lighter weight manner - and also probably easier to understand.

It maybe because the viewbox or transform stuff. Try to calculate the
bounds by applying the transform of graphicsNode.getGlobalTransform()
eg: Shape shape = (Shape)graphicsNode.getBounds();
AffineTransform at = graphicsNode.getGlobalTransform()
shape = at.createTransformedShape(shape);
Rectangle bounds = shape.getBounds();


Regards
Tonny Kohar


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to