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());
}