Author: tilman
Date: Mon Jun 15 19:55:34 2026
New Revision: 1935390

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

Modified:
   pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java

Modified: 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java
==============================================================================
--- 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java   
    Mon Jun 15 19:55:31 2026        (r1935389)
+++ 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java   
    Mon Jun 15 19:55:34 2026        (r1935390)
@@ -1405,13 +1405,15 @@ public class PageDrawer extends PDFGraph
     private BufferedImage applyTransferFunction(BufferedImage image, COSBase 
transfer) throws IOException
     {
         BufferedImage bim;
+        int imageWidth = image.getWidth();
+        int imageHeight = image.getHeight();
         if (image.getColorModel().hasAlpha())
         {
-            bim = new BufferedImage(image.getWidth(), image.getHeight(), 
BufferedImage.TYPE_INT_ARGB);
+            bim = new BufferedImage(imageWidth, imageHeight, 
BufferedImage.TYPE_INT_ARGB);
         }
         else
         {
-            bim = new BufferedImage(image.getWidth(), image.getHeight(), 
BufferedImage.TYPE_INT_RGB);
+            bim = new BufferedImage(imageWidth, imageHeight, 
BufferedImage.TYPE_INT_RGB);
         }
 
         // prepare transfer functions (either one per color or one for all) 
@@ -1444,9 +1446,9 @@ public class PageDrawer extends PDFGraph
 
         // apply the transfer function to each color, but keep alpha
         float[] input = new float[1];
-        for (int x = 0; x < image.getWidth(); ++x)
+        for (int x = 0; x < imageWidth; ++x)
         {
-            for (int y = 0; y < image.getHeight(); ++y)
+            for (int y = 0; y < imageHeight; ++y)
             {
                 int rgb = image.getRGB(x, y);
                 int ri = (rgb >> 16) & 0xFF;

Reply via email to