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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]