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