Merge pull request #33 from OpenVIVO/develop

VIVO-1234 JaiImageProcessor alpha channel problem
This commit is contained in:
grahamtriggs 2016-03-10 23:28:47 +00:00
commit bae17b4293
2 changed files with 6 additions and 4 deletions

View file

@ -5,6 +5,7 @@ package edu.cornell.mannlib.vitro.webapp.imageprocessor.jai;
import java.awt.geom.AffineTransform; import java.awt.geom.AffineTransform;
import java.awt.image.AffineTransformOp; import java.awt.image.AffineTransformOp;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import java.awt.image.ColorConvertOp;
import java.awt.image.ColorModel; import java.awt.image.ColorModel;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
@ -85,9 +86,10 @@ public class JaiImageProcessor implements ImageProcessor {
throws ImageProcessorException, IOException { throws ImageProcessorException, IOException {
try { try {
RenderedOp mainImage = loadImage(mainImageStream); RenderedOp mainImage = loadImage(mainImageStream);
RenderedOp opaqueImage = makeImageOpaque(mainImage);
BufferedImage bufferedImage = opaqueImage.getAsBufferedImage(); BufferedImage bufferedImage = new BufferedImage(mainImage.getWidth(), mainImage.getHeight(), BufferedImage.TYPE_INT_RGB);
new ColorConvertOp(null).filter(mainImage.getAsBufferedImage(), bufferedImage);
log.debug("initial image: " + imageSize(bufferedImage)); log.debug("initial image: " + imageSize(bufferedImage));
log.debug("initial crop: " + crop); log.debug("initial crop: " + crop);
@ -132,7 +134,7 @@ public class JaiImageProcessor implements ImageProcessor {
} }
if (image.getNumBands() == 4) { if (image.getNumBands() == 4) {
// The image has a separate alpha channel. Drop the alpha channel. // The image has a separate alpha channel. Drop the alpha channel.
return BandSelectDescriptor.create(image, COLOR_BAND_INDEXES, null); return BandSelectDescriptor.create(image, COLOR_BAND_INDEXES, null);
} }

View file

@ -197,7 +197,7 @@
<dependency> <dependency>
<groupId>org.freemarker</groupId> <groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId> <artifactId>freemarker</artifactId>
<version>2.3.18</version> <version>2.3.23</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.hibernate</groupId> <groupId>org.hibernate</groupId>