Java - 用于调整图像大小的好的免费库

Nic*_*ler 2 java graphics2d image-resizing

我想在java中调整图像大小.

到现在为止我用这个:

BufferedImage resizedImage = new BufferedImage((int) new_dim.getWidth(), (int) new_dim.getHeight(), type);
Graphics2D g = resizedImage.createGraphics();
g.drawImage(originalImage, 0, 0, (int) new_dim.getWidth(), (int) new_dim.getHeight(), null);
g.dispose();
Run Code Online (Sandbox Code Playgroud)

newDim是一个维度.

但结果质量很差......

是否有一些商业免费图书馆可以完成这项简单的工作?

coo*_*ird 6

Thumbnailator是一个开源(MIT许可证)库,专门用于图像大小调整操作,特别是在缩小图像时.

例如,以下内容将调整大小BufferedImage:

BufferedImage sourceImage = // ...
BufferedImage resizedImage = 
    Thumbnails.of(sourceImage)
        .size(newWidth, newHeight)
        .asBufferedImage();
Run Code Online (Sandbox Code Playgroud)

Thumbnailator提供了灵活的输入和输出,所以这是可能的混合和匹配FileBufferedImage输入和输出:

BufferedImage sourceImage = // ...
Thumbnails.of(sourceImage)
    .size(newWidth, newHeight)
    .toFile(destinationFile);
Run Code Online (Sandbox Code Playgroud)

要么

File sourceFile = // ...
BufferedImage resizedImage = 
    Thumbnails.of(sourceFile)
        .size(newWidth, newHeight)
        .asBufferedImage();
Run Code Online (Sandbox Code Playgroud)

该库使用技术来提高调整大小的图像的质量,并在保持速度和质量之间的良好平衡的同时进行.Thumbnailator项目页面具有图像质量比较.

免责声明:我是图书馆的维护者