From 816cad60a8e2e7bd2ef91c5215ecb54525721e28 Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Fri, 4 Feb 2022 12:23:44 +0100 Subject: [PATCH] IFF: XS24 clean-up --- .../imageio/plugins/iff/XS24Chunk.java | 21 +++++++------------ 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/XS24Chunk.java b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/XS24Chunk.java index 46759596..f484d21f 100644 --- a/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/XS24Chunk.java +++ b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/XS24Chunk.java @@ -1,11 +1,12 @@ package com.twelvemonkeys.imageio.plugins.iff; import com.twelvemonkeys.imageio.color.ColorSpaces; +import com.twelvemonkeys.imageio.util.ImageTypeSpecifiers; import javax.imageio.IIOException; -import java.awt.*; import java.awt.color.ColorSpace; -import java.awt.image.*; +import java.awt.image.BufferedImage; +import java.awt.image.DataBuffer; import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; @@ -59,17 +60,9 @@ final class XS24Chunk extends IFFChunk { } public BufferedImage thumbnail() { - WritableRaster raster = Raster.createInterleavedRaster(DataBuffer.TYPE_BYTE, width, height, width * 3, 3, new int[] {0, 1, 2}, null); -// WritableRaster raster = Raster.createInterleavedRaster(DataBuffer.TYPE_BYTE, width, height, width * 3, 3, new int[] {2, 1, 0}, null); - ColorModel colorModel = new ComponentColorModel(ColorSpaces.getColorSpace(ColorSpace.CS_sRGB), false, false, Transparency.OPAQUE, DataBuffer.TYPE_BYTE); -// raster.setDataElements(0, 0, width, height, data); - System.arraycopy(data, 0, ((DataBufferByte) raster.getDataBuffer()).getData(), 0, data.length); - -// BufferedImage thumbnail = ImageTypeSpecifiers.createInterleaved(ColorSpaces.getColorSpace(ColorSpace.CS_sRGB), new int[] {1, 2, 0}, DataBuffer.TYPE_BYTE, false, false) -// // BufferedImage thumbnail = ImageTypeSpecifiers.createFromBufferedImageType(BufferedImage.TYPE_3BYTE_BGR) -// .createBufferedImage(width, height); -// thumbnail.getRaster().setDataElements(0, 0, width, height, data); -// return thumbnail; - return new BufferedImage(colorModel, raster, colorModel.isAlphaPremultiplied(), null); + BufferedImage thumbnail = ImageTypeSpecifiers.createInterleaved(ColorSpaces.getColorSpace(ColorSpace.CS_sRGB), new int[] {1, 2, 0}, DataBuffer.TYPE_BYTE, false, false) + .createBufferedImage(width, height); + thumbnail.getRaster().setDataElements(0, 0, width, height, data); + return thumbnail; } }