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 2003/05/15 08:50:18 UTC
cvs commit: xml-fop/src/org/apache/fop/render/ps PSGraphics2D.java PSRenderer.java
jeremias 2003/05/14 23:50:18
Modified: src/org/apache/fop/render/ps Tag: fop-0_20_2-maintain
PSGraphics2D.java PSRenderer.java
Log:
Fix for bug #19797 (image elements in SVG may produce blank output)
Submitted by: Zhong(George) Yi <yi...@yahoo.com>
Revision Changes Path
No revision
No revision
1.2.2.5 +4 -3 xml-fop/src/org/apache/fop/render/ps/Attic/PSGraphics2D.java
Index: PSGraphics2D.java
===================================================================
RCS file: /home/cvs/xml-fop/src/org/apache/fop/render/ps/Attic/PSGraphics2D.java,v
retrieving revision 1.2.2.4
retrieving revision 1.2.2.5
diff -u -r1.2.2.4 -r1.2.2.5
--- PSGraphics2D.java 25 Feb 2003 14:58:23 -0000 1.2.2.4
+++ PSGraphics2D.java 15 May 2003 06:50:17 -0000 1.2.2.5
@@ -247,10 +247,11 @@
psRenderer.write("gsave");
Shape imclip = getClip();
writeClip(imclip);
+ psRenderer.write("1000 -1000 scale");
// psRenderer.write("" + matrix[0] + " " + matrix[1] +
// " " + matrix[2] + " " + matrix[3] + " " +
// matrix[4] + " " + matrix[5] + " cm\n");
- psRenderer.renderBitmap(fopimg, x, y, width, height);
+ psRenderer.renderBitmap(fopimg, x, -y, width, height);
psRenderer.write("grestore");
} catch (Exception e) {
e.printStackTrace();
1.15.2.17 +9 -2 xml-fop/src/org/apache/fop/render/ps/Attic/PSRenderer.java
Index: PSRenderer.java
===================================================================
RCS file: /home/cvs/xml-fop/src/org/apache/fop/render/ps/Attic/PSRenderer.java,v
retrieving revision 1.15.2.16
retrieving revision 1.15.2.17
diff -u -r1.15.2.16 -r1.15.2.17
--- PSRenderer.java 17 Apr 2003 15:59:58 -0000 1.15.2.16
+++ PSRenderer.java 15 May 2003 06:50:18 -0000 1.15.2.17
@@ -70,6 +70,8 @@
// SVG
import org.w3c.dom.*;
+import org.w3c.dom.svg.SVGDocument;
+import org.w3c.dom.svg.SVGSVGElement;
// Java
import java.io.IOException;
@@ -430,6 +432,9 @@
float h = (float)ctx.getDocumentSize().getHeight() * 1000f;
//log.debug("drawing SVG image: "+x+"/"+y+" "+w+"/"+h);
+ SVGSVGElement svg = ((SVGDocument) doc).getRootElement();
+ AffineTransform at = ViewBox.getPreserveAspectRatioTransform(svg,
+ w/1000f , h/1000f );
ctx = null;
builder = null;
@@ -452,7 +457,9 @@
// and positive is down and to the right. (0,0) is where the
// viewBox puts it.
write(xOffset + " " + yOffset + " translate");
- write(sx + " " + sy + " scale");
+ write((at.getTranslateX() * 1000) + " "
+ + (-at.getTranslateY() * 1000) + " translate");
+ write(sx * at.getScaleX() + " " + sy * at.getScaleY() + " scale");
PSGraphics2D graphics = new PSGraphics2D(false, fs,
this, currentFontName,
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-cvs-help@xml.apache.org