我正在尝试使用两个库(thumbnailator和imgscalr)将一张图片转换为另一种格式。我的代码可以处理大部分的图片,但是对于一些图片在转换后会产生粉红/红色的色调。
我想要了解造成这种情况的原因,并欢迎任何建议。
注意 - 这张图片的图像类型为5,即BufferedImage.TYPE_3BYTE_BGR,我使用的是Java 7版本。
以下是需要转换的图片: 使用Thumbnailator:
我想要了解造成这种情况的原因,并欢迎任何建议。
注意 - 这张图片的图像类型为5,即BufferedImage.TYPE_3BYTE_BGR,我使用的是Java 7版本。
以下是需要转换的图片: 使用Thumbnailator:
Thumbnails.of(fromDir.listFiles())
.size(thumbnailWidth, thumbnailHeight)
.toFiles(Rename.SUFFIX_HYPHEN_THUMBNAIL);
Using 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();