将高分辨率图像转换为低分辨率图像

时间:2009-11-25 16:50:04

标签: java image data-compression

我正在媒体经理上做一个网络项目。我上传高分辨率图像并需要将这些图像转换为低分辨率,以便将生成的图像压缩成较小的尺寸。如何使用Java?

如果可能,请发布源代码。

谢谢, 纳温

4 个答案:

答案 0 :(得分:3)

不确定我是否正确,但如果你想改变图像的大小,Image类有一个 getScaledInstance 方法:

Image theImage = ...
Image scaled = theImage.getScaledInstance(32, -1, Image.SCALE_FAST);

有关详细信息,请参阅图像的documentation

答案 1 :(得分:0)

我见过JAI用于此目的。

答案 2 :(得分:0)

如果您不需要对高分辨率图像执行任何操作,则可以在图像阅读器上添加参数,例如:

ImageReadParam param = reader.getDefaultReadParam();
param.setSourceSubsampling(4, 4, 0, 0);
img = reader.read(0);

这将跳过源数据中4行/列中的3行。

答案 3 :(得分:0)

如果您在安装了imagemagick二进制文件的Linux服务器上运行,则可以在Runtime.getRuntime.exec()上执行/usr/bin/convert。只需确保您读/写唯一名称(您可以使用File.createTempFile()来确保)。