PNG转JPG Java ImageIO问题
我已经尝试了下面的两行代码均无济于事。该代码适用于 jpg 或 gif,但如果是 png,则将图像变成粉红色。
ImageIO.write(input, "jpg", profileFile);
RenderedOp op = JAI.create("filestore", input, pFileName, "jpeg");
还有其他人遇到这个问题吗?我一直无法找到解决方案。
I have tried both lines of code below to no avail. The code works fine with jpg, or gif but turns the image pink if a png.
ImageIO.write(input, "jpg", profileFile);
RenderedOp op = JAI.create("filestore", input, pFileName, "jpeg");
Anyone else run into this problem? I haven't been able to find a solution.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
你重复了你的问题。并且有关于 Sun 库中报告的错误的答案以及解决方法和链接。
使用 Java 将 PNG 转换为 JPG 时出现问题 (ImageIO.写())
You have duplicated your question. And there is answer about reported bug in Sun's library and workaround and link.
Problem converting PNG to JPG using Java (ImageIO.write())
我不确定这是否是正确的答案。但是还有另一篇文章建议JPEG的实现用 Alpha 通道书写有点奇怪。
I'm not sure if this is the right answer or not. But there is another post that suggest that the implementation of JPEG writting with an alpha channel is a bit screwy.
我使用以下代码绘制 PNG,没有遇到问题。它将多个 PNG 图像组合成一个图像。图像具有透明度,并使用双线性变换进行混合。
完成图像后,我使用以下代码将其写入响应:
I draw PNGs with the following code and do not run into a problem. It combines multiple PNG images into a single image. The images have transparency, and use bilinear transform for blending.
When I finish the image, I write it to a response using the following code: