You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by le...@apache.org on 2010/09/12 17:47:54 UTC

svn commit: r996331 - /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/ColorSpaceCMYK.java

Author: lehmi
Date: Sun Sep 12 15:47:54 2010
New Revision: 996331

URL: http://svn.apache.org/viewvc?rev=996331&view=rev
Log:
PDFBOX-826: reduced number of array accesses to increase the performance as suggested by Timo Boehme

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/ColorSpaceCMYK.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/ColorSpaceCMYK.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/ColorSpaceCMYK.java?rev=996331&r1=996330&r2=996331&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/ColorSpaceCMYK.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/ColorSpaceCMYK.java Sun Sep 12 15:47:54 2010
@@ -137,15 +137,12 @@ public class ColorSpaceCMYK extends Colo
         if (colorvalue != null && colorvalue.length == 4) 
         {
             // First of all we have to convert from CMYK to CMY
-            float c = ( colorvalue[0] * ( 1 - colorvalue[3] ) + colorvalue[3] );
-            float m = ( colorvalue[1] * ( 1 - colorvalue[3] ) + colorvalue[3] );
-            float y = ( colorvalue[2] * ( 1 - colorvalue[3] ) + colorvalue[3] );
+            float k = colorvalue[3];
+            float c = ( colorvalue[0] * ( 1 - k ) + k );
+            float m = ( colorvalue[1] * ( 1 - k ) + k );
+            float y = ( colorvalue[2] * ( 1 - k ) + k );
             // Now we have to convert from CMY to RGB
-            float[] rgbvalues = new float[3];
-            rgbvalues[0] = 1 - c;
-            rgbvalues[1] = 1 - m;
-            rgbvalues[2] = 1 - y;
-            return rgbvalues;
+            return new float[] { 1 - c, 1 - m, 1 - y };
         }
         return null;
     }