Skip to content

Commit e53d434

Browse files
committed
Use GeoTools ImageWorker to avoid having to care about specific ImageN Operator
1 parent 56fc4e3 commit e53d434

File tree

2 files changed

+8
-12
lines changed

2 files changed

+8
-12
lines changed

geowebcache/core/pom.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@
1919
<groupId>org.geotools</groupId>
2020
<artifactId>gt-metadata</artifactId>
2121
</dependency>
22+
<dependency>
23+
<groupId>org.geotools</groupId>
24+
<artifactId>gt-coverage-api</artifactId>
25+
</dependency>
2226
<dependency>
2327
<groupId>org.apache.commons</groupId>
2428
<artifactId>commons-collections4</artifactId>

geowebcache/core/src/main/java/org/geowebcache/mime/ImageMime.java

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,9 @@
2727
import javax.imageio.ImageWriter;
2828
import org.eclipse.imagen.ImageLayout;
2929
import org.eclipse.imagen.JAI;
30-
import org.eclipse.imagen.RenderedOp;
3130
import org.eclipse.imagen.media.colorindexer.ColorIndexer;
3231
import org.eclipse.imagen.media.colorindexer.Quantizer;
33-
import org.eclipse.imagen.operator.ExtremaDescriptor;
32+
import org.geotools.image.ImageWorker;
3433
import org.geotools.util.logging.Logging;
3534

3635
public class ImageMime extends MimeType {
@@ -261,16 +260,9 @@ public JpegPngMime(
261260
boolean isBestFormatJpeg(RenderedImage renderedImage) {
262261
int numBands = renderedImage.getSampleModel().getNumBands();
263262
if (numBands == 4 || numBands == 2) {
264-
RenderedOp extremaOp = ExtremaDescriptor.create(
265-
renderedImage,
266-
null,
267-
1,
268-
1,
269-
false,
270-
1,
271-
JAI.getDefaultInstance().getRenderingHints());
272-
double[][] extrema = (double[][]) extremaOp.getProperty("Extrema");
273-
double[] mins = extrema[0];
263+
ImageWorker iw = new ImageWorker(renderedImage);
264+
iw.setRenderingHints(JAI.getDefaultInstance().getRenderingHints());
265+
double[] mins = iw.getMinimums();
274266

275267
return mins[mins.length - 1] == 255; // fully opaque
276268
} else if (renderedImage.getColorModel() instanceof IndexColorModel) {

0 commit comments

Comments
 (0)