gpt4 book ai didi

java - 在调整大小之前计算调整大小的图像(例如 JPEG)的文件大小

转载 作者:行者123 更新时间:2023-12-01 05:44:29 26 4
gpt4 key购买 nike

在调整大小之前,如何计算已调整大小的图像(例如 JPEG)的文件大小?

我需要发送 HTTP 请求内容长度,然后我将调整图像大小,否则 nginx 会超时响应。

最佳答案

zen0n,如果您绝对必须这样做,那么使用 Andrew 的建议并进行一些小的修改是唯一的方法(执行整个调整大小操作,将字节输出到 ByteArrayOutputStream,以便您可以预先对它们进行计数)。

我将使用的修改是使用一个简单的图像大小调整库(如imgscalr)在服务器端进行此操作。 ,传入代表加载图像的 BufferedImage,并返回一个代表新大小图像的调整大小的 BufferedImage。然后通过 ImageIO.write 泵送它并将其输出到 BufferedArrayOutputStream。

然后设置“Content-Length” header 并将图像内容流式传输回来。

由于将原始图像字节转换为 JPG 会引入压缩和编码事件序列,因此没有准确的方法可以预先预测确切的文件长度,然后使用 ImageIO.write 将字节流式传输回客户端。您必须首先使用上述技术完全调整图像大小(在内存中),然后将数据写回客户端。

关于java - 在调整大小之前计算调整大小的图像(例如 JPEG)的文件大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6262944/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com