gpt4 book ai didi

java - 以像素为单位调整字节数组图像的大小

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:54:52 25 4
gpt4 key购买 nike

我将图像存储为字节数组。无论尺寸有多大,我都希望始终将其调整为 100x100 像素。

我正在尝试将字节数组转换为缓冲图像,调整大小并将其另存为字节数组。但是使用以下代码,图像不再出现在我的页面上。

byte[] pict; // this array contains the image
BufferedImage bufferedImage;

ByteArrayInputStream bais = new ByteArrayInputStream(pict);
try {
bufferedImage = ImageIO.read(bais);
bufferedImage = Scalr.resize(bufferedImage, 100);

ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write( bufferedImage, "jpg", baos );
baos.flush();

pict = baos.toByteArray();
baos.close();

} catch (IOException e) {
throw new RuntimeException(e);
}
OutputStream o = response.getOutputStream();
o.write(pict);

最佳答案

改为这样做:

Image tmpImage = ImageIO.read(bais);
Image scaled = tmpImage.getScaledInstance(100, 100, Image.SCALE_SMOOTH);

然后,要转换为字节数组,将图像转换为缓冲图像,然后将其转换为字节数组:

BufferedImage buffered = ((ToolkitImage) scaled).getBufferedImage();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(buffered, "jpg", baos);
baos.flush();
pict = baos.toByteArray();
baos.close();

关于java - 以像素为单位调整字节数组图像的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35513946/

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