You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2014/08/01 18:16:07 UTC

svn commit: r1615159 - /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShading.java

Author: tilman
Date: Fri Aug  1 16:16:07 2014
New Revision: 1615159

URL: http://svn.apache.org/r1615159
Log:
PDFBOX-1915: adjust out of range function result colors to the nearest valid value

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShading.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShading.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShading.java?rev=1615159&r1=1615158&r2=1615159&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShading.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShading.java Fri Aug  1 16:16:07 2014
@@ -386,6 +386,20 @@ public abstract class PDShading implemen
                 returnValues[i] = newValue[0];
             }
         }
+        // From the PDF spec:
+        // "If the value returned by the function for a given colour component 
+        // is out of range, it shall be adjusted to the nearest valid value."
+        for (int i = 0; i < returnValues.length; ++i)
+        {
+            if (returnValues[i] < 0)
+            {
+                returnValues[i] = 0;
+            }
+            else if (returnValues[i] > 1)
+            {
+                returnValues[i] = 1;
+            }
+        }
         return returnValues;
     }