将高分辨率图像转换为低分辨率图像
我正在做一个关于媒体管理器的网络项目。我上传高分辨率图像,需要将这些图像转换为低分辨率,以便将生成的图像压缩为较小的尺寸。使用 Java 如何实现这一点?
如果可能的话,请发布源代码。
谢谢, 纳文
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我正在做一个关于媒体管理器的网络项目。我上传高分辨率图像,需要将这些图像转换为低分辨率,以便将生成的图像压缩为较小的尺寸。使用 Java 如何实现这一点?
如果可能的话,请发布源代码。
谢谢, 纳文
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
不确定我是否正确,但是如果您想更改图像的大小,Image 类有一个 getScaledInstance 方法:
有关详细信息,请参阅 图像文档
not sure if I got it right, but if you want to change the size of an image, the Image class has a getScaledInstance method:
For details see the documentation of Image
我见过 JAI 用于此目的。
I've seen JAI used for this purpose.
如果您不需要对高分辨率图像执行任何操作,则可以在图像读取器上添加一个参数,例如,
这将跳过源数据中 4 行/列中的 3 行。
You could add an parameter onto your image reader if you don't need to do anything with the high-res image, e.g.
This will skip 3 out of 4 rows/column in the source data.
如果您在安装了 imagemagick 二进制文件的 Linux 服务器上运行,您只需执行
Runtime.getRuntime.exec()< /code>
/usr/bin/convert
。只需确保您读取/写入唯一的名称(您可以使用File.createTempFile()
以确保)。If you're running on a Linux server with the imagemagick binaries installed, you could just do an
Runtime.getRuntime.exec()
on/usr/bin/convert
. Just make sure you read/write to unique names (you can useFile.createTempFile()
to ensure that).