Java-用于调整图像大小的良好且免费的库
我想在java中调整图像的大小 到目前为止,我使用的是:Java-用于调整图像大小的良好且免费的库,java,image-resizing,graphics2d,Java,Image Resizing,Graphics2d,我想在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
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();
newDim是一个维度
但是结果质量很差
有没有一些免费的商业图书馆可以做这个简单的工作?你应该试试imgscalr: 是一个开源(MIT许可证)库,专门用于图像大小调整操作,尤其是在缩小图像时 例如,以下内容将调整
缓冲区图像的大小:
BufferedImage sourceImage = // ...
BufferedImage resizedImage =
Thumbnails.of(sourceImage)
.size(newWidth, newHeight)
.asBufferedImage();
Thumbnailator提供灵活的输入和输出,因此可以混合和匹配文件
和缓冲图像
输入和输出:
BufferedImage sourceImage = // ...
Thumbnails.of(sourceImage)
.size(newWidth, newHeight)
.toFile(destinationFile);
或
该库使用各种技术来提高已调整大小的图像的质量,并在保持速度和质量之间的良好平衡的同时做到这一点。Thumbnailator项目页面具有一个
免责声明:我是该库的维护者试图说服您重新考虑,至少是质量问题
您可以尝试使用g.setRenderingHints(键插值、值插值双三次)代码>请参阅
还有用于锐化等的图像过滤器。谢谢你的回答,但我在调整动画GIF大小时遇到了这个问题:我还不得不放弃这个库,因为它在透明GIF上有问题。链接不起作用anymore@pstobiecki谢谢,修好了。
File sourceFile = // ...
BufferedImage resizedImage =
Thumbnails.of(sourceFile)
.size(newWidth, newHeight)
.asBufferedImage();