我正在使用 Swing 创建一个 UI,我想在JLabel
。我使用的代码如下:
JLabel label = new JLabel(new ImageIcon(ImageIO.read(new File("img.jpg"))));
如果我使用的话效果很好png
图像,但当涉及到jpg
(仅其中一些),我得到一张偏红色的图像(与我在 Paint.NET 中看到的图像不同)。
我使用的图像是这样的:img.jpg
所以我尝试了(作为替代方案):
Toolkit.getDefaultToolkit().createImage(new File("img.jpg").getAbsolutePath());
- 有谁知道为什么会发生这种情况?是不是特别的
JPEG
不支持哪种格式?
- 我在这个论坛上读到大多数人推荐使用 ImageIO (here例如)。为什么?
多谢
正如所讨论的here,您的 JPEG 图像可能包含虚假的透明度信息。一种简单的权宜之计是在具有兼容颜色模型的缓冲区中渲染图像,如图所示here.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)