【问题标题】:Display BMP in JLabel在 JLabel 中显示 BMP
【发布时间】: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

谢谢

【问题讨论】:

    标签: java image 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 转换器。

    【讨论】:

      猜你喜欢
      • 2015-07-25
      • 2013-04-27
      • 2017-07-11
      • 1970-01-01
      • 2018-05-23
      • 2018-04-23
      • 2019-07-08
      • 1970-01-01
      相关资源
      最近更新 更多