gpt4 book ai didi

java - 使用 Java 将 PNG 转换为 JPG 时出现问题 (ImageIO.write())

转载 作者:行者123 更新时间:2023-12-02 06:11:35 25 4
gpt4 key购买 nike

我正在使用 ImageIO.write() 将 PNG 文件转换为 JPG。由于某种原因,我的结果图像上面有一层粉红色的层。我已经广泛寻找解决方案,但没有找到任何解决方案。该代码适用于除 PNG 之外的所有其他类型的图像。

最佳答案

我不确定其他代码片段如何工作,因为缓冲区在创建后没有被使用。我发现这个粉色问题是 jvm 版本特定的。

我发现的最简单的解决方案就是这样做。

BufferedImage image = null;
BufferedImage imageRGB = null;

// imageBytes is some png file you read
image = ImageIO.read(new ByteArrayInputStream(imageBytes));

// Attempt at PNG read fix
imageRGB = new BufferedImage(image.getWidth(),
image.getHeight(), BufferedImage.TYPE_INT_RGB);

// write data into an RGB buffered image, no transparency
imageRGB.setData(image.getData());

// return the RGB buffered image, or do ImageIO.write( ... );
return imageRGB; // fixed for jpeg

关于java - 使用 Java 将 PNG 转换为 JPG 时出现问题 (ImageIO.write()),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1830063/

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