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 de...@apache.org on 2003/03/04 22:24:26 UTC

cvs commit: xml-batik/sources/org/apache/batik/transcoder SVGAbstractTranscoder.java

deweese     2003/03/04 13:24:26

  Modified:    sources/org/apache/batik/transcoder/image
                        JPEGTranscoder.java
               sources/org/apache/batik/transcoder/print
                        PrintTranscoder.java
               sources/org/apache/batik/transcoder
                        SVGAbstractTranscoder.java
  Log:
  JPEG files now have X/YDensity set according to -dpi option.
  There is a potential fix for the off by 1.333 commented out in the
  PrintTranscoder (since I can't print to test the fix).
  
  Revision  Changes    Path
  1.6       +6 -1      xml-batik/sources/org/apache/batik/transcoder/image/JPEGTranscoder.java
  
  Index: JPEGTranscoder.java
  ===================================================================
  RCS file: /home/cvs/xml-batik/sources/org/apache/batik/transcoder/image/JPEGTranscoder.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- JPEGTranscoder.java	12 Nov 2001 15:37:22 -0000	1.5
  +++ JPEGTranscoder.java	4 Mar 2003 21:24:25 -0000	1.6
  @@ -76,6 +76,11 @@
               JPEGImageEncoder jpegEncoder = JPEGCodec.createJPEGEncoder(ostream);
               JPEGEncodeParam params = JPEGCodec.getDefaultJPEGEncodeParam(img);
               params.setQuality(quality, true);
  +            float PixSzMM = userAgent.getPixelUnitToMillimeter();
  +            int PixSzInch = (int)(25.4/PixSzMM+0.5);
  +            params.setDensityUnit(JPEGEncodeParam.DENSITY_UNIT_DOTS_INCH);
  +            params.setXDensity(PixSzInch);
  +            params.setYDensity(PixSzInch);
               jpegEncoder.encode(img, params);
           } catch (IOException ex) {
               throw new TranscoderException(ex);
  
  
  
  1.24      +16 -5     xml-batik/sources/org/apache/batik/transcoder/print/PrintTranscoder.java
  
  Index: PrintTranscoder.java
  ===================================================================
  RCS file: /home/cvs/xml-batik/sources/org/apache/batik/transcoder/print/PrintTranscoder.java,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- PrintTranscoder.java	5 Jun 2002 21:14:48 -0000	1.23
  +++ PrintTranscoder.java	4 Mar 2003 21:24:25 -0000	1.24
  @@ -289,12 +289,23 @@
   
           // Check hint to know if scaling is really needed
           Boolean scaleToPage = (Boolean)hints.get(KEY_SCALE_TO_PAGE);
  -        if(scaleToPage != null && !scaleToPage.booleanValue()){
  +        if(scaleToPage != null && !scaleToPage.booleanValue()) {
  +            /** I think should fix the off by 1.3333x bug
  +                but since I can't print right now I'm leaving 
  +                commented out.
  +            float pixSzMM = userAgent.getPixelUnitToMillimeter();
  +            float pixSzInch = (25.4/pixSzMM);
  +            // Printing Graphics is always set up for 72dpi, so
  +            // scale to user request.
  +            scale = 72/pixSzInch;
  +            ***/
               scale = 1;
           }
   
  -        double xMargin = (pageFormat.getImageableWidth() - bounds.getWidth()*scale)/2;
  -        double yMargin = (pageFormat.getImageableHeight() - bounds.getHeight()*scale)/2;
  +        double xMargin = (pageFormat.getImageableWidth() - 
  +                          bounds.getWidth()*scale)/2;
  +        double yMargin = (pageFormat.getImageableHeight() - 
  +                          bounds.getHeight()*scale)/2;
           g.translate(pageFormat.getImageableX() + xMargin,
                       pageFormat.getImageableY() + yMargin);
           g.scale(scale, scale);
  @@ -628,7 +639,7 @@
           // Pixel to millimeter
           setTranscoderFloatHint(transcoder,
                                  KEY_PIXEL_TO_MM_STR,
  -                               KEY_PIXEL_TO_MM);
  +                               KEY_PIXEL_UNIT_TO_MILLIMETER);
   
           // Page orientation
           setTranscoderStringHint(transcoder,
  
  
  
  1.6       +2 -2      xml-batik/sources/org/apache/batik/transcoder/SVGAbstractTranscoder.java
  
  Index: SVGAbstractTranscoder.java
  ===================================================================
  RCS file: /home/cvs/xml-batik/sources/org/apache/batik/transcoder/SVGAbstractTranscoder.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGAbstractTranscoder.java	4 Mar 2003 12:11:59 -0000	1.5
  +++ SVGAbstractTranscoder.java	4 Mar 2003 21:24:25 -0000	1.6
  @@ -586,7 +586,7 @@
       /**
        * The pixel to millimeter conversion factor key.
        * @deprecated As of Batik Version 1.5b3
  -     * @see #KEY_MM_PER_PIXEL
  +     * @see #KEY_PIXEL_UNIT_TO_MILLIMETER
        *
        * <TABLE BORDER="0" CELLSPACING="0" CELLPADDING="1">
        * <TR>
  
  
  

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