6

2 つのライブラリ (thumbnailator と imgscalr) を使用して画像 (以下の URL) を変換しようとしています。私のコードは、変換後にピンク/赤みがかった色合いを持ついくつかを除いて、ほとんどの画像で動作します。

私は原因を理解しようとしており、推奨事項を歓迎します。

- この画像の画像タイプは 5、つまりBufferedImage.TYPE_3BYTE_BGRであり、私はJava 7を使用しています

ここに画像の説明を入力 ここに画像の説明を入力

サムネレータの使用

  Thumbnails.of(fromDir.listFiles())                
                    .size(thumbnailWidth, thumbnailHeight)
                    .toFiles(Rename.SUFFIX_HYPHEN_THUMBNAIL);

imgscalr の使用

    BufferedImage bufferedImage = ImageIO.read(file);
    final BufferedImage jpgImage;

    LOG.debug("image type is =[{}] ", bufferedImage.getType());

     BufferedImage scaledImg = Scalr.resize(bufferedImage, Method.ULTRA_QUALITY, thumbnailWidth, thumbnailHeight, Scalr.OP_ANTIALIAS);


    File thumbnailFile = new File(fromDirPath + "/" + getFileName(file.getName()) +THUMBNAIL_KEYWORD  + ".png");

    ImageIO.write(scaledImg, getFileExtension(file.getName()), thumbnailFile);

    bufferedImage.flush();
    scaledImg.flush();
4

2 に答える 2