我有一个基于 servlet 的应用程序,它提供来自本地存储文件的图像。我添加了逻辑,允许应用程序将图像文件加载到 BufferedImage,然后调整图像大小,在图像顶部添加水印文本,或两者兼而有之。
我想在写出图像之前设置内容长度。除了将图像写入临时文件或字节数组之外,有没有办法找到 BufferedImage 的大小?
如果有助于计算大小,所有文件都被写为 jpg。
最佳答案
BufferedImage img = = new BufferedImage(500, 300, BufferedImage.TYPE_INT_RGB);
ByteArrayOutputStream tmp = new ByteArrayOutputStream();
ImageIO.write(img, "png", tmp);
tmp.close();
Integer contentLength = tmp.size();
response.setContentType("image/png");
response.setHeader("Content-Length",contentLength.toString());
OutputStream out = response.getOutputStream();
out.write(tmp.toByteArray());
out.close();
关于java - 如何计算java BufferedImage文件大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/632229/