You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by je...@apache.org on 2005/06/09 14:45:53 UTC

cvs commit: xml-fop/src/java/org/apache/fop/render/java2d Java2DRenderer.java

jeremias    2005/06/09 05:45:53

  Modified:    src/java/org/apache/fop/render/java2d Java2DRenderer.java
  Log:
  General anti-aliasing hint added.
  Bitmaps generated by the Java2D renderer take the resolution on the user agent into account.
  
  Revision  Changes    Path
  1.2       +14 -4     xml-fop/src/java/org/apache/fop/render/java2d/Java2DRenderer.java
  
  Index: Java2DRenderer.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/render/java2d/Java2DRenderer.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Java2DRenderer.java	9 Jun 2005 08:49:26 -0000	1.1
  +++ Java2DRenderer.java	9 Jun 2005 12:45:53 -0000	1.2
  @@ -35,6 +35,7 @@
   import java.awt.image.PixelInterleavedSampleModel;
   import java.awt.image.Raster;
   import java.awt.image.SampleModel;
  +import java.awt.image.SinglePixelPackedSampleModel;
   import java.awt.image.WritableRaster;
   import java.io.IOException;
   import java.io.OutputStream;
  @@ -268,15 +269,24 @@
                           + " (pageWidth " + pageWidth + ", pageHeight "
                           + pageHeight + ")");
   
  +        double scaleX = scaleFactor 
  +            * FOUserAgent.DEFAULT_PX2MM / userAgent.getPixelUnitToMillimeter();
  +        double scaleY = scaleFactor
  +            * FOUserAgent.DEFAULT_PX2MM / userAgent.getPixelUnitToMillimeter();
  +        int bitmapWidth = (int) ((pageWidth * scaleX) + 0.5);
  +        int bitmapHeight = (int) ((pageHeight * scaleY) + 0.5);
  +                
  +        
           BufferedImage currentPageImage = new BufferedImage(
  -                (int) ((pageWidth * scaleFactor)),
  -                (int) ((pageHeight * scaleFactor)), BufferedImage.TYPE_INT_RGB);
  +                bitmapWidth, bitmapHeight, BufferedImage.TYPE_INT_ARGB);
           // FIXME TYPE_BYTE_BINARY ?
   
           Graphics2D graphics = currentPageImage.createGraphics();
           graphics.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS,
                   RenderingHints.VALUE_FRACTIONALMETRICS_ON);
           if (antialiasing) {
  +            graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
  +                    RenderingHints.VALUE_ANTIALIAS_ON);
               graphics.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
                       RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
           }
  @@ -287,7 +297,7 @@
   
           // transform page based on scale factor supplied
           AffineTransform at = graphics.getTransform();
  -        at.scale(scaleFactor, scaleFactor);
  +        at.scale(scaleX, scaleY);
           graphics.setTransform(at);
   
           // draw page frame
  
  
  

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