Author: tilman
Date: Sun Sep 21 14:17:53 2025
New Revision: 1928669
Log:
PDFBOX-5660: optimize, as suggested by Valery Bokov; closes #260
Modified:
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDMeshBasedShadingType.java
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDTriangleBasedShadingType.java
Modified:
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDMeshBasedShadingType.java
==============================================================================
---
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDMeshBasedShadingType.java
Sun Sep 21 14:17:49 2025 (r1928668)
+++
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDMeshBasedShadingType.java
Sun Sep 21 14:17:53 2025 (r1928669)
@@ -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());
}
Modified:
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDTriangleBasedShadingType.java
==============================================================================
---
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDTriangleBasedShadingType.java
Sun Sep 21 14:17:49 2025 (r1928668)
+++
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PDTriangleBasedShadingType.java
Sun Sep 21 14:17:53 2025 (r1928669)
@@ -89,7 +89,10 @@ abstract class PDTriangleBasedShadingTyp
if (bitsPerCoordinate == -1)
{
bitsPerCoordinate =
getCOSObject().getInt(COSName.BITS_PER_COORDINATE, -1);
- LOG.debug("bitsPerCoordinate: " + (Math.pow(2, bitsPerCoordinate)
- 1));
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("bitsPerCoordinate: " + (Math.pow(2,
bitsPerCoordinate) - 1));
+ }
}
return bitsPerCoordinate;
}