Java阅读图像

时间:2013-12-04 13:19:19

标签: java image

我正在阅读与我的程序位于同一文件夹中的图像

public void GetImages() {
    imgMonster = new ImageIcon(Astro_n_Monster.class.getResource("image.png")).getImage();
   }

但现在我已将它们移动到另一个文件夹中但仍在项目文件夹中。我不太清楚如何阅读它们,因为我已经尝试了类似“H:NetBeansProjects \ Game \ Pictures \ image.png”之类的东西,但是它不会读取它。我需要帮助改变内容。 “”

4 个答案:

答案 0 :(得分:1)

imgMonster = new ImageIcon("Pictures/image.png").getImage();

您可以在不使用getResource()的情况下调用它。如果你使用这个文件路径,它应该工作。 Netbeans将从Game dir开始,这是你的项目根目录。从那里它将遵循指定的文件路径

Game (project root) 
    Pictures
           image.png
    src
    build

答案 1 :(得分:0)

您是否尝试过 H:\\ NetBeansProjects \\ Game \\ Pictures \\ image.png H:/NetBeansProjects/Game/Pictures/image.png 。 char“\”仅用于逃避其他特征。你的代码错了。它应该是这样的:

Image imgMonster = new ImageIcon("H:\\NetBeansProjects\\Game\\Pictures\\image.png").getImage();

答案 2 :(得分:0)

AnyClass.class.getResource("image.png")返回该资源的绝对URL。但为此,它必须位于类路径文件夹中。

要使您的代码正常运行,image.png .class Astro_n_Monster生成的{{1}}文件应该可用。{/ p>

答案 3 :(得分:0)

考虑使用简单的解决方案从包

加载图像的包结构
com
  |_ myCompany
     |_ images
        |_ image.png
com
  |_ myCompany
      |_ javaClasses
         |_ Astro_n_Monster

现在,即使您将类Astro_n_Monster类与图像包一起移动,您也可以使用以下代码获取输出

imgMonster = new ImageIcon(Astro_n_Monster.class.getResource("/com/myCompany/images/image.png")).getImage();