You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ja...@apache.org on 2014/08/31 23:53:40 UTC

svn commit: r1621643 - /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/pattern/TilingPaint.java

Author: jahewson
Date: Sun Aug 31 21:53:39 2014
New Revision: 1621643

URL: http://svn.apache.org/r1621643
Log:
PDFBOX-1094: Use Math.ceil when calculating TilingPaint raster size

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/pattern/TilingPaint.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/pattern/TilingPaint.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/pattern/TilingPaint.java?rev=1621643&r1=1621642&r2=1621643&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/pattern/TilingPaint.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/pattern/TilingPaint.java Sun Aug 31 21:53:39 2014
@@ -137,19 +137,11 @@ public class TilingPaint extends Texture
                 Transparency.TRANSLUCENT, DataBuffer.TYPE_BYTE);
 
         Rectangle2D rect = getTransformedRect(pattern, matrix);
-        int width = Math.round((float) rect.getWidth());
-        int height = Math.round((float) rect.getHeight());
+        float width = (float)rect.getWidth();
+        float height = (float)rect.getHeight();
 
-        int rasterWidth = (int) (width * Math.abs(xform.getScaleX()));
-        int rasterHeight = (int) (height * Math.abs(xform.getScaleY()));
-        if (rasterWidth < 1)
-        {
-            rasterWidth = 1;
-        }
-        if (rasterHeight < 1)
-        {
-            rasterHeight = 1;
-        }
+        int rasterWidth = Math.max(1, (int)Math.ceil(width * Math.abs(xform.getScaleX())));
+        int rasterHeight = Math.max(1, (int)Math.ceil(height * Math.abs(xform.getScaleY())));
 
         // create raster
         WritableRaster raster = cm.createCompatibleWritableRaster(rasterWidth, rasterHeight);