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:19:28 UTC

svn commit: r1615162 - /pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShadingResources.java

Author: tilman
Date: Fri Aug  1 16:19:28 2014
New Revision: 1615162

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

Modified:
    pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShadingResources.java

Modified: pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShadingResources.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShadingResources.java?rev=1615162&r1=1615161&r2=1615162&view=diff
==============================================================================
--- pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShadingResources.java (original)
+++ pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDShadingResources.java Fri Aug  1 16:19:28 2014
@@ -420,6 +420,20 @@ public abstract class PDShadingResources
                 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;
     }
 }