Author: tilman Date: Mon May 3 19:00:42 2021 New Revision: 1889460 URL: http://svn.apache.org/viewvc?rev=1889460&view=rev Log: PDFBOX-4892: optimize, as suggested by valerybokov
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/AxialShadingContext.java pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/RadialShadingContext.java pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/Type1ShadingContext.java Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/AxialShadingContext.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/AxialShadingContext.java?rev=1889460&r1=1889459&r2=1889460&view=diff ============================================================================== --- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/AxialShadingContext.java (original) +++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/AxialShadingContext.java Mon May 3 19:00:42 2021 @@ -176,12 +176,14 @@ public class AxialShadingContext extends WritableRaster raster = getColorModel().createCompatibleWritableRaster(w, h); boolean useBackground; int[] data = new int[w * h * 4]; + float[] values = new float[2]; for (int j = 0; j < h; j++) { for (int i = 0; i < w; i++) { useBackground = false; - float[] values = new float[] { x + i, y + j }; + values[0] = x + i; + values[1] = y + j; rat.transform(values, 0, values, 0, 1); double inputValue = x1x0 * (values[0] - coords[0]) + y1y0 * (values[1] - coords[1]); // TODO this happens if start == end, see PDFBOX-1442 Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/RadialShadingContext.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/RadialShadingContext.java?rev=1889460&r1=1889459&r2=1889460&view=diff ============================================================================== --- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/RadialShadingContext.java (original) +++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/RadialShadingContext.java Mon May 3 19:00:42 2021 @@ -182,11 +182,13 @@ public class RadialShadingContext extend float inputValue = -1; boolean useBackground; int[] data = new int[w * h * 4]; + float[] values = new float[2]; for (int j = 0; j < h; j++) { for (int i = 0; i < w; i++) { - float[] values = new float[] { x + i, y + j }; + values[0] = x + i; + values[1] = y + j; rat.transform(values, 0, values, 0, 1); useBackground = false; float[] inputValues = calculateInputValues(values[0], values[1]); Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/Type1ShadingContext.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/Type1ShadingContext.java?rev=1889460&r1=1889459&r2=1889460&view=diff ============================================================================== --- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/Type1ShadingContext.java (original) +++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/Type1ShadingContext.java Mon May 3 19:00:42 2021 @@ -101,13 +101,15 @@ class Type1ShadingContext extends Shadin { WritableRaster raster = getColorModel().createCompatibleWritableRaster(w, h); int[] data = new int[w * h * 4]; + float[] values = new float[2]; for (int j = 0; j < h; j++) { for (int i = 0; i < w; i++) { int index = (j * w + i) * 4; boolean useBackground = false; - float[] values = new float[] { x + i, y + j }; + values[0] = x + i; + values[1] = y + j; rat.transform(values, 0, values, 0, 1); if (values[0] < domain[0] || values[0] > domain[1] || values[1] < domain[2] || values[1] > domain[3])