Author: tilman
Date: Sun Sep 21 14:17:44 2025
New Revision: 1928667

Log:
PDFBOX-5660: optimize, as suggested by Valery Bokov; closes #260

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

Modified: 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDMeshBasedShadingType.java
==============================================================================
--- 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDMeshBasedShadingType.java
    Sun Sep 21 12:53:47 2025        (r1928666)
+++ 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDMeshBasedShadingType.java
    Sun Sep 21 14:17:44 2025        (r1928667)
@@ -203,10 +203,11 @@ abstract class PDMeshBasedShadingType ex
 
         try
         {
+            int bitsPerCoordinate = getBitsPerCoordinate();
             for (int i = pStart; i < controlPoints; i++)
             {
-                long x = input.readBits(getBitsPerCoordinate());
-                long y = input.readBits(getBitsPerCoordinate());
+                long x = input.readBits(bitsPerCoordinate);
+                long y = input.readBits(bitsPerCoordinate);
                 float px = interpolate(x, maxSrcCoord, rangeX.getMin(), 
rangeX.getMax());
                 float py = interpolate(y, maxSrcCoord, rangeY.getMin(), 
rangeY.getMax());
                 Point2D p = matrix.transformPoint(px, py);
@@ -217,7 +218,7 @@ abstract class PDMeshBasedShadingType ex
             {
                 for (int j = 0; j < numberOfColorComponents; j++)
                 {
-                    long c = input.readBits(getBitsPerComponent());
+                    long c = input.readBits(bitsPerCoordinate);
                     color[i][j] = interpolate(c, maxSrcColor, 
colRange[j].getMin(),
                             colRange[j].getMax());
                 }

Reply via email to