如何在Java中将原始图像调整为常见的图像大小?

时间:2010-02-21 11:16:51

标签: java image resize

在Java中,如何将图像的大小调整为任何类型或大小的图像的默认大小?

2 个答案:

答案 0 :(得分:7)

您无法轻松地将图像从一种文件大小调整为另一种文件大小,但大多数是JPG / PNG / GIF /等。根据其分辨率,往往具有相似的文件大小。例如,200kb压缩JPG通常可以说是1280x960。如果是这种情况,您只需定位所有调整大小操作,将目标图像的大小调整为该大小,并大致获得所需的大小限制。

这样做的一个非常简单的方法是使用非常简单的java image resizing library(Apache 2许可证),它可以为您完成一切。调整大小的示例代码如下所示:

BufferedImage img = ImageIO.read(...); // load image
BufferedImage scaledImg = Scalr.resize(img, 1280, 960);

您的图像比例很受尊重,图书馆根据图像因缩放(FASTEST,BALANCED或QUALITY)而发生的变化量,最佳地猜测它应该使用的方法,并且最佳支持的Java2D图像类型总是如此用于进行缩放以避免出现“黑色”结果或看起来非常糟糕的输出(例如过度抖动的GIF图像)。

此外,如果要强制它在Java中输出可能的最佳结果,API调用将如下所示:

BufferedImage img = ImageIO.read(...); // load image
BufferedImage scaledImg = Scalr.resize(img, Method.QUALITY, 1280, 960);

该库使用Java2D推荐的增量缩放为您提供最佳效果。

您可以阅读库中的所有注释(代码本身是大量文档),以查看解决的所有不同JDK错误或为提高性能或内存使用而进行的优化。我花了很多时间来调整这个实现,并且从在Web应用程序和其他Java项目中部署它的人那里获得了很多很好的反馈。

答案 1 :(得分:6)

有关于如何在网上做这件事的完整文章,像这样的东西可以让你去: