【发布时间】:2012-08-16 00:12:05
【问题描述】:
我正在使用 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)。为什么?
非常感谢
【问题讨论】:
-
是的。这就是为什么我想知道为什么人们会推荐另一种方式......
-
等等,我在 Toolkit Java 文档中找不到任何
createImage(File f)...确定吗? -
对不起,我正在使用
createImage(String path),我编辑了问题...
标签: java image swing jpeg javax.imageio