在 JLabel 中显示 BMP
Posted
技术标签:
【中文标题】在 JLabel 中显示 BMP【英文标题】:Display BMP in JLabel 【发布时间】:2009-02-27 07:21:57 【问题描述】:Java 可以显示 png、jpg 等一些图片格式,但我必须通过获取文件路径在 JLable 中显示 bmp 文件。
ImageIcon imageIcon = new ImageIcon(imageFile.getAbsolutePath());
ImageIcon 支持典型的png,gif,jpg
图像。
在我正在工作的项目中,我无法打开 bmp 文件并将相同的文件存储为 jpg,因为我不允许在运行时存储某些内容。我只能在内存中生成图像。但我不知道该怎么做。
如何在Java
1.4
中显示BMP
?
谢谢
【问题讨论】:
【参考方案1】:javax.imageio.ImageIO支持BMP格式:
Image image = ImageIO.read(imageFile);
ImageIcon icon = new ImageIcon(image);
JLabel label = new JLabel(icon);
ImageIO 也可以用于不同格式之间的转换。
【讨论】:
ImageIO.read(imageFile) 在图像是 bmp 文件时返回 null 在 Java 5 之前没有内置的 BMP 支持。 我一直在弄清楚为什么我的实现几个小时都没有工作......现在我意识到直接加载 bmp 文件不起作用..【参考方案2】:我发现一些用 Java 1.5 编写的类,但您可以轻松更新 2 个类,以便可以使用 1.4 中的类。
imag4j可以将bmp和ico文件转换成可以在java中显示的BufferedImage对象。 由于 java 1.5 语句,您可以导入 17 个类并且可能需要更新 10 行代码。
你得到一个运行良好的 bmp 转换器。
【讨论】:
以上是关于在 JLabel 中显示 BMP的主要内容,如果未能解决你的问题,请参考以下文章