xmlgraphics-batik-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From DeWeese Thomas <thomas.dewe...@gmail.com>
Subject Re: Using Batik for basic SVG generation
Date Fri, 27 Jul 2012 00:27:33 GMT
Hi Anthony,
	Sorry my day job is currently very busy.

On Jul 20, 2012, at 1:23 PM, Anthony Rowlands wrote:

> I am evaluating Batik for my work. My main requirement is to generate SVG documents in
Java, which will mostly be used by JavaScript for display or simply streamed somewhere else.
So I am interested in generating SVG documents as strings and have no interest in Swing or
working with Java Graphics. I also need the rasterizer packages for creating images out of
the SVG, which I have experimented with and am impressed with so far.
> 
> So what would be the recommended way of doing this? The main feature of Batik seems to
be a mapping between Java's Graphics API and an SVG document, so that you can code using Java's
built-in API's and have an SVG document come out of it.

	Actually I would say the SVG rendering engine (largely shared by the rasterizer and swing
components) is a much more important part of Batik compared with the SVGGraphics2D (certainly
by lines of code).

> Question 1: If I don't need any of the features of AWT/Swing/Graphics etc., would it
make more sense to build the SVG myself using only Java's XML API's and only use the rasterizer
from Batik? This seems to be the best route right now to avoid the overhead of programming
to the SVGGraphics2D API.

	There is no problem with doing this.  This generally results in cleaner SVG but often is
more lines of code.
And especially for complex items (bezier paths and the like) can be a little cumbersome.

> Question 2: If I do this, and I have a huge SVG document as a String, is there an entry
point back into SVGGraphics2D so that, if I eventually want to use the SVGGraphics2D features,
I can start from an existing SVG document? I'm assuming there is such an entry point, but
what happens if I then stream the document back out of SVGGraphics2D? I assume Batik will
re-jigger the document in some way - can you comment on what will happen?

	The SVGGraphics2D only ever splits SVG out.  You can't take an SVG document and "put it into"
an SVGGraphics2D.  That said you can use the SVGGraphics2D to draw "snippets" that you can
then insert into an
existing SVG Document (built from your string) using all the normal XML commands.  This is
most useful if you have some body of drawing code already and you want to leverage that for
parts of the SVG document.

	Thomas


---------------------------------------------------------------------
To unsubscribe, e-mail: batik-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: batik-users-help@xmlgraphics.apache.org


Mime
View raw message