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

Ven*_*kat 17 java resize image

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

Riy*_*lla 8

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

一个非常简单的方法是使用非常简单的java 图像大小调整库(Apache 2许可证),它可以为您完成一切.调整大小的示例代码如下所示:

BufferedImage img = ImageIO.read(...); // load image
BufferedImage scaledImg = Scalr.resize(img, 1280, 960);
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

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


Nic*_*ver 6

有关于如何在网络上执行此操作的完整文章,这样的事情应该让你去: