You are viewing a plain text version of this content. The canonical link for it is here.
Posted to batik-dev@xmlgraphics.apache.org by tk...@apache.org on 2001/04/13 13:31:16 UTC
cvs commit: xml-batik/sources/org/apache/batik/transcoder/image ImageTranscoder.java
tkormann 01/04/13 04:31:16
Modified: sources/org/apache/batik/transcoder/image
ImageTranscoder.java
Log:
Image transcoder now supports svg documents without width and height attributes on the outermost svg element.
Revision Changes Path
1.19 +19 -13 xml-batik/sources/org/apache/batik/transcoder/image/ImageTranscoder.java
Index: ImageTranscoder.java
===================================================================
RCS file: /home/cvs/xml-batik/sources/org/apache/batik/transcoder/image/ImageTranscoder.java,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- ImageTranscoder.java 2001/03/28 06:51:24 1.18
+++ ImageTranscoder.java 2001/04/13 11:31:16 1.19
@@ -23,6 +23,7 @@
import java.awt.image.BufferedImage;
import org.apache.batik.bridge.BridgeContext;
+import org.apache.batik.bridge.BridgeException;
import org.apache.batik.bridge.GVTBuilder;
import org.apache.batik.bridge.UserAgent;
import org.apache.batik.bridge.ViewBox;
@@ -92,7 +93,7 @@
* millimeter conversion factor.
*
* @author <a href="mailto:Thierry.Kormann@sophia.inria.fr">Thierry Kormann</a>
- * @version $Id: ImageTranscoder.java,v 1.18 2001/03/28 06:51:24 tkormann Exp $
+ * @version $Id: ImageTranscoder.java,v 1.19 2001/04/13 11:31:16 tkormann Exp $
*/
public abstract class ImageTranscoder extends XMLAbstractTranscoder {
@@ -130,9 +131,24 @@
DefaultSVGContext svgCtx = new DefaultSVGContext();
svgCtx.setPixelToMM(userAgent.getPixelToMM());
((SVGOMDocument)document).setSVGContext(svgCtx);
+
+ // build the GVT tree
+ GVTBuilder builder = new GVTBuilder();
+ ImageRendererFactory rendFactory = new StaticRendererFactory();
+ GraphicsNodeRenderContext rc = rendFactory.getRenderContext();
+ BridgeContext ctx = new BridgeContext(userAgent, rc);
+ GraphicsNode gvtRoot;
+ try {
+ gvtRoot = builder.build(ctx, svgDoc);
+ } catch (BridgeException ex) {
+ throw new TranscoderException(ex);
+ }
// get the 'width' and 'height' attributes of the SVG document
- float docWidth = (int)root.getWidth().getBaseVal().getValue();
- float docHeight = (int)root.getHeight().getBaseVal().getValue();
+ float docWidth = (float)ctx.getDocumentSize().getWidth();
+ float docHeight = (float)ctx.getDocumentSize().getHeight();
+ ctx = null;
+ builder = null;
+
// compute the image's width and height according the hints
float imgWidth = -1;
if (hints.containsKey(KEY_WIDTH)) {
@@ -186,16 +202,6 @@
// prepare the image to be painted
int w = (int)width;
int h = (int)height;
-
- // build the GVT tree
- GVTBuilder builder = new GVTBuilder();
- ImageRendererFactory rendFactory = new StaticRendererFactory();
- GraphicsNodeRenderContext rc = rendFactory.getRenderContext();
-
- BridgeContext ctx = new BridgeContext(userAgent, rc);
- GraphicsNode gvtRoot = builder.build(ctx, svgDoc);
- ctx = null;
- builder = null;
// paint the SVG document using the bridge package
// create the appropriate renderer
---------------------------------------------------------------------
To unsubscribe, e-mail: batik-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: batik-dev-help@xml.apache.org