この方法を使用して画像サイズを変更しています:
private File resize(double scale, File file) throws IOException {
double scaledSize = targetSize * scale;
BufferedImage scaledImage = Scalr.resize(sourceImage, (int) scaledSize);
Iterator<ImageWriter> iter = ImageIO.getImageWritersByFormatName(fileExt);
ImageWriter writer = iter.next();
ImageWriteParam iwp = writer.getDefaultWriteParam();
iwp.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
iwp.setCompressionQuality(1);
FileImageOutputStream output = new FileImageOutputStream(file);
writer.setOutput(output);
IIOImage image = new IIOImage(scaledImage, null, null);
writer.write(null, image, iwp);
writer.dispose();
return file;
}
画像の色深度が失われるようです。ソース画像と同じ色深度を設定するにはどうすればよいですか?