-
Bug
-
Resolution: Fixed
-
Critical
-
1.0
-
None
-
None
-
-
Empty show more show less
For some png (dam/demo-project/img/logo/magnolia-logo), we have the following exception when displaying an Image.
This is related to the following resolved issue MGNLIMG-38.
From ImageUtil.class
final boolean isOpaque = img.getTransparency() == Transparency.OPAQUE;
if (!isOpaque && !outputFormat.supportsTransparency()) {
final WritableRaster raster = img.getRaster();
final WritableRaster newRaster = raster.createWritableChild(0, 0, img.getWidth(), img.getHeight(), 0, 0, new int[]
);
// create a ColorModel that represents the one of the ARGB except the alpha channel
final DirectColorModel cm = (DirectColorModel) img.getColorModel();
The image isOpack = false && supportsTransparency = false --> jump in the if statement.
Issue is that this cast is failing: (DirectColorModel) img.getColorModel()
img.getColoredModel() --> type ComponentColorModel
and ComponentColorModel is not a sub class of DirectColorModel.
-------------------------
Caused by: java.lang.ClassCastException: java.awt.image.ComponentColorModel cannot be cast to java.awt.image.DirectColorModel
at info.magnolia.imaging.util.ImageUtil.flattenTransparentImageForOpaqueFormat(ImageUtil.java:68)
at info.magnolia.imaging.DefaultImageStreamer.serveImage(DefaultImageStreamer.java:68)
at info.magnolia.imaging.caching.CachingImageStreamer.generateAndStore(CachingImageStreamer.java:197)
at info.magnolia.imaging.caching.CachingImageStreamer$1.apply(CachingImageStreamer.java:118)
at info.magnolia.imaging.caching.CachingImageStreamer$1.apply(CachingImageStreamer.java:114)
at com.google.common.collect.ComputingConcurrentHashMap$ComputingValueReference.compute(ComputingConcurrentHashMap.java:355)
at com.google.common.collect.ComputingConcurrentHashMap$ComputingSegment.compute(ComputingConcurrentHashMap.java:184)
at com.google.common.collect.ComputingConcurrentHashMap$ComputingSegment.getOrCompute(ComputingConcurrentHashMap.java:153)
at com.google.common.collect.ComputingConcurrentHashMap.getOrCompute(ComputingConcurrentHashMap.java:69)
at com.google.common.collect.ComputingConcurrentHashMap$ComputingMapAdapter.get(ComputingConcurrentHashMap.java:393)
at info.magnolia.imaging.caching.CachingImageStreamer.serveImage(CachingImageStreamer.java:136)
... 82 more
- caused by
-
MGNLIMG-38 outputting into jpg format fails if processed image is a gif or png
- Closed