打开图像资产 Java JDK 8
Opening image asset Java JDK 8
我正在尝试加载存储在项目中的名为 Default.png 的图像并将其绘制到 canvas 上。我很清楚 ImageIO.read 但是无论我给它什么路径,我似乎都无法加载它。我应该把图像放在哪里?我试过将它放在单独的文件夹 calles "res," 中,然后放入 assets.author.mypackagename.textures,但无论我做什么,我似乎都找不到正确的位置以及如何访问它。感谢任何帮助,评论更多细节。
实际上资源是在相对于当前包的类路径中加载的。如果 /com/daniel/project/src/
在你的类路径中,图像在 /com/daniel/project/src/image
中,那么使用:
ImageIO.read( ClassLoader.getSystemResource( "image/Default.png" ) );
但是 src
文件夹通常不会被 IDE 包含在类路径中。尝试将图像添加到 bin
文件夹。
如果您将其放在名为 res
的单独文件夹中,则可以通过以下方式加载图像:
ImageIO.read(this.getClass().getResource("/Default.png"));
你也可以这样做:
ImageIO.read(new File("res/Default.png"));
第二种方法不需要将图片放在另一个文件夹中,但对我来说这样更干净。
我正在尝试加载存储在项目中的名为 Default.png 的图像并将其绘制到 canvas 上。我很清楚 ImageIO.read 但是无论我给它什么路径,我似乎都无法加载它。我应该把图像放在哪里?我试过将它放在单独的文件夹 calles "res," 中,然后放入 assets.author.mypackagename.textures,但无论我做什么,我似乎都找不到正确的位置以及如何访问它。感谢任何帮助,评论更多细节。
实际上资源是在相对于当前包的类路径中加载的。如果 /com/daniel/project/src/
在你的类路径中,图像在 /com/daniel/project/src/image
中,那么使用:
ImageIO.read( ClassLoader.getSystemResource( "image/Default.png" ) );
但是 src
文件夹通常不会被 IDE 包含在类路径中。尝试将图像添加到 bin
文件夹。
如果您将其放在名为 res
的单独文件夹中,则可以通过以下方式加载图像:
ImageIO.read(this.getClass().getResource("/Default.png"));
你也可以这样做:
ImageIO.read(new File("res/Default.png"));
第二种方法不需要将图片放在另一个文件夹中,但对我来说这样更干净。