gpt4 book ai didi

Java ARGB 转 JPG

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:45:38 24 4
gpt4 key购买 nike

如何将 TYPE_INT_ARGBBufferedImage 保存为 jpg?

程序为我生成了那个图像:

enter image description here

没关系,但是当我以这种方式保存时:

    ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
BufferedOutputStream bos = new BufferedOutputStream(byteStream);
try {
ImageIO.write(buffImg, "jpg", bos);
// argb
byteStream.flush();
byte[] newImage = byteStream.toByteArray();

OutputStream out = new BufferedOutputStream(new FileOutputStream("D:\\test.jpg"));
out.write(newImage);
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

结果是: enter image description here

了解这是由于 alpha 层引起的,但不知道如何修复它。 png 格式不适合我,需要 jpg。

最佳答案

好的!我已经解决了。一切都很简单。不知道这是一个好的决定,它有多快。我还没有找到其他的。所以.. 我们需要做的就是定义新的 BufferedImage。

BufferedImage buffImg = new BufferedImage(getWidth(), getHeight(), BufferedImage.TYPE_INT_ARGB);
Graphics2D g2 = buffImg.createGraphics();

// ... other code we need

BufferedImage img= new BufferedImage(buffImg.getWidth(), buffImg.getHeight(), BufferedImage.TYPE_INT_RGB);
Graphics2D g2d = img.createGraphics();
g2d.drawImage(buffImg, 0, 0, null);
g2d.dispose();

如果有任何改进此方法的想法,欢迎您。

关于Java ARGB 转 JPG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25651838/

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