Scalr を使用して画像のサイズを変更しています。一部の画像に問題があります。Scalr は、サイズ変更された画像の色を変更しています。つまり、これが私のコードの概要です。バイト配列からファイルを読み取りました:
BufferedImage image = ImageIO.read(bis);
次に、scalr を使用して画像のサイズを変更します。
Scalr.resize(image,
Scalr.Method.ULTRA_QUALITY, Scalr.Mode.AUTOMATIC, targetWidth, targetHeight);
次に、出力ファイルに書き込みます。
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(bufferedImage, extension, baos);
サイズ変更前後の画像のタイプは同じで、TYPE_4BYTE_ABGR に等しくなります。
元の画像:
サイズ変更後の画像: