CMYKカラーも扱うApacheSanselanを使用して、多くのjpeg画像のサイズを変更しています。アルファチャネルを持つjpeg画像を変換しようとすると問題が発生します...変換すると、結果は異なる色の画像になります。Javaは、これらのタイプの画像を異なる色の形式として処理するのではないかと思います。私が言ったように、RGBのサイズ変更はCMYKと同様にうまく機能します。ARGB画像はさまざまな色で表示されます。
例:
助言がありますか?どういうわけかアルファチャネルを無視して、画像をRGB画像として処理することを強制できますか?または、実際の色を失うことなくRGB画像に変換しますか?
この画像を処理するコードは次のとおりです。
ImageInputStream stream = ImageIO.createImageInputStream(file);
Iterator<ImageReader> iter = ImageIO.getImageReaders(stream);
while (iter.hasNext()) {
ImageReader reader = iter.next();
reader.setInput(stream);
BufferedImage image = null;
ICC_Profile profile = null;
try {
image = reader.read(0);
} catch (IIOException e) {
... (CMYK conversion if needed)
}
return image;
}
return null;
前もって感謝します