【问题标题】:Can't define a path to an image无法定义图像的路径
【发布时间】:2013-03-03 18:15:15
【问题描述】:

我将一个图像导入到 Eclipse 中,与这个类在同一个包中:

public class mainWindow extends JFrame {
    public mainWindow() {
    Image bg = // \mainPackage\ShittyPlane.png;
    Graphics2D g2d;
    this.setSize(500,500);
    this.setResizable(false);
    this.setTitle("GameTest");
    this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    this.setVisible(true);
    g2d.drawImage(bg, 0, 0, null);
  }
}

如何定义图片路径?

【问题讨论】:

    标签: java image path embedded-resource


    【解决方案1】:

    如果图像是您源的一部分并且稍后被打包到 jar 中以供分发,我建议您使用 getResourceAsStream 获取图像流。

    ClassLoader cl = getClass().getClassLoader();
    InputStream is = cl.getResourceAsStream("mainPackage/ShittyPlane.png");
    BufferedImage image = ImageIO.read(is);
    

    如果您从 IDE 运行程序,此方法也可以使用

    如果您打算使用文件选择器定位图像,请使用@Pescis 的答案。

    【讨论】:

      【解决方案2】:

      从特定文件加载图像需要做的是:

      BufferedImage img = null;
      try {
          img = ImageIO.read(new File("src/mainPackage/ShittyPlane.png")); //I'm guessing this is the path to your image..
      } catch (IOException e) {
      }
      

      有关更多信息,您可以阅读javadoc 处理图像。

      【讨论】:

        猜你喜欢
        • 2012-08-24
        • 1970-01-01
        • 1970-01-01
        • 2019-02-10
        • 2018-09-24
        • 1970-01-01
        • 1970-01-01
        • 2022-01-03
        • 2017-09-13
        相关资源
        最近更新 更多