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 2018/08/19 07:50:43 UTC

svn commit: r1838362 - /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/image/PDImageXObject.java

Author: tilman
Date: Sun Aug 19 07:50:43 2018
New Revision: 1838362

URL: http://svn.apache.org/viewvc?rev=1838362&view=rev
Log:
PDFBOX-4267: convert matte to RGB

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/image/PDImageXObject.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/image/PDImageXObject.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/image/PDImageXObject.java?rev=1838362&r1=1838361&r2=1838362&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/image/PDImageXObject.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/image/PDImageXObject.java Sun Aug 19 07:50:43 2018
@@ -455,20 +455,8 @@ public final class PDImageXObject extend
             // PDFBOX-4267: process /Matte
             // see PDF specification 1.7, 11.6.5.3 Soft-Mask Images
             matte = ((COSArray) base).toFloatArray();
-            if (getColorSpace().getNumberOfComponents() == 1 &&
-                    matte.length >= 1)
-            {
-                // /DeviceGray has only one element in Matte
-                // See file from PDFBOX-1359, page 14
-                // Root/Pages/Kids/[2]/Kids/[2]/Resources/XObject/Im1/Resources/XObject/Im0
-                matte = new float[] { matte[0], matte[0], matte[0] };
-            }
-            if (matte.length != 3)
-            {
-                LOG.warn("/Matte entry " + Arrays.toString(matte) +
-                        " for Soft-Mask may not work properly");
-                matte = Arrays.copyOf(matte, 3);
-            }
+            // convert to RGB
+            matte = softMask.getColorSpace().toRGB(matte);
         }
         return matte;
     }