Author: ssteiner
Date: Thu Apr 14 09:40:09 2016
New Revision: 1739041
URL: http://svn.apache.org/viewvc?rev=1739041&view=rev
Log:
FOP-2562: Fix rotation
Modified:
xmlgraphics/fop-pdf-images/branches/Temp_PDFBox2/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java
xmlgraphics/fop-pdf-images/branches/Temp_PDFBox2/src/java/org/apache/fop/render/pdf/pdfbox/PSPDFGraphics2D.java
xmlgraphics/fop-pdf-images/branches/Temp_PDFBox2/test/java/org/apache/fop/render/pdf/PDFRotateTestCase.java
Modified:
xmlgraphics/fop-pdf-images/branches/Temp_PDFBox2/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/branches/Temp_PDFBox2/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java?rev=1739041&r1=1739040&r2=1739041&view=diff
==============================================================================
---
xmlgraphics/fop-pdf-images/branches/Temp_PDFBox2/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java
(original)
+++
xmlgraphics/fop-pdf-images/branches/Temp_PDFBox2/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java
Thu Apr 14 09:40:09 2016
@@ -104,37 +104,15 @@ public class ImageConverterPDF2G2D exten
public void paint(Graphics2D g2d, Rectangle2D area) {
try {
PDRectangle mediaBox = page.getCropBox();
-
AffineTransform at = new AffineTransform();
-
- Integer rotation = page.getRotation();
- if (rotation != null) {
- switch (rotation) {
- case 270:
- at.scale(area.getWidth() / area.getHeight(),
area.getHeight() / area.getWidth());
- at.translate(0, area.getWidth());
- at.rotate(-Math.PI / 2.0);
- break;
- case 180:
- at.translate(area.getWidth(), area.getHeight());
- at.rotate(-Math.PI);
- break;
- case 90:
- at.scale(area.getWidth() / area.getHeight(),
area.getHeight() / area.getWidth());
- at.translate(area.getHeight(), 0);
- at.rotate(-Math.PI * 1.5);
- break;
- default:
- //no additional transformations necessary
- break;
- }
+ int rotation = page.getRotation();
+ if (rotation == 90 || rotation == 270) {
+ at.scale(area.getWidth() / area.getHeight(),
area.getHeight() / area.getWidth());
}
-
at.translate(area.getX(), area.getY());
at.scale(area.getWidth() / mediaBox.getWidth(),
area.getHeight() / mediaBox.getHeight());
g2d.transform(at);
-
new PDFRenderer(pdDocument).renderPageToGraphics(selectedPage,
g2d);
} catch (IOException ioe) {
//TODO Better exception handling
Modified:
xmlgraphics/fop-pdf-images/branches/Temp_PDFBox2/src/java/org/apache/fop/render/pdf/pdfbox/PSPDFGraphics2D.java
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/branches/Temp_PDFBox2/src/java/org/apache/fop/render/pdf/pdfbox/PSPDFGraphics2D.java?rev=1739041&r1=1739040&r2=1739041&view=diff
==============================================================================
---
xmlgraphics/fop-pdf-images/branches/Temp_PDFBox2/src/java/org/apache/fop/render/pdf/pdfbox/PSPDFGraphics2D.java
(original)
+++
xmlgraphics/fop-pdf-images/branches/Temp_PDFBox2/src/java/org/apache/fop/render/pdf/pdfbox/PSPDFGraphics2D.java
Thu Apr 14 09:40:09 2016
@@ -107,7 +107,7 @@ public class PSPDFGraphics2D extends PSG
protected void applyPaint(Paint paint, boolean fill) {
preparePainting();
if (paint instanceof AxialShadingPaint || paint instanceof
RadialShadingPaint) {
- PaintContext paintContext = paint.createContext(null, null, null,
new AffineTransform(),
+ PaintContext paintContext = paint.createContext(null, new
Rectangle(), null, new AffineTransform(),
getRenderingHints());
PDColorSpace pdcs;
int deviceColorSpace = PDFDeviceColorSpace.DEVICE_RGB;
Modified:
xmlgraphics/fop-pdf-images/branches/Temp_PDFBox2/test/java/org/apache/fop/render/pdf/PDFRotateTestCase.java
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/branches/Temp_PDFBox2/test/java/org/apache/fop/render/pdf/PDFRotateTestCase.java?rev=1739041&r1=1739040&r2=1739041&view=diff
==============================================================================
---
xmlgraphics/fop-pdf-images/branches/Temp_PDFBox2/test/java/org/apache/fop/render/pdf/PDFRotateTestCase.java
(original)
+++
xmlgraphics/fop-pdf-images/branches/Temp_PDFBox2/test/java/org/apache/fop/render/pdf/PDFRotateTestCase.java
Thu Apr 14 09:40:09 2016
@@ -53,6 +53,6 @@ public class PDFRotateTestCase {
GraphicContext gc = new GraphicContext();
g2d.setGraphicContext(gc);
ig.getGraphics2DImagePainter().paint(g2d, rect);
- Assert.assertEquals(g2d.getTransform().getShearX(),
-5.5191148992250524E-9);
+ Assert.assertEquals(g2d.getTransform().getShearX(),
0.16339869281045735);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]