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