gpt4 book ai didi

java - ImageIO.write() 低质量图像

转载 作者:行者123 更新时间:2023-12-01 12:55:56 25 4
gpt4 key购买 nike

我创建了以下方法,它构建了图像的 Base64 编码字符串。我遇到的问题是,当它运行时,它抓取的图像是高质量的,但是当它保存到字节数组然后编码时,图像是像素化的并且质量相当低,我该怎么做才能获得 100%质量图像?

public String getImageString(String img){
String image = "";
try{
BufferedImage bufferedImage = ImageIO.read(HelpPage.class.getResource(img));
ByteArrayOutputStream out = new ByteArrayOutputStream();
ImageIO.write(bufferedImage, "JPG", out);
String base64bytes = Base64.encode(out.toByteArray());
image = "data:image/jpeg;base64," + base64bytes;
}catch(IOException ex){
Logger.getLogger(HomePage.class.getName()).log(Level.SEVERE, null, ex);
}
return image;
}

最佳答案

这里根本不需要使用 ImageIO。只需从资源中读取字节并对它们进行base64编码即可。

您正在将一个 JPEG 转换为另一个 JPEG,这本质上是一个有损过程,尽管它不应该像“低质量”那么糟糕。但您根本不需要这样做。

关于java - ImageIO.write() 低质量图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23899345/

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