我正在尝试加载存储在项目中名为 Default.png 的图像并将其绘制到画布上。我很清楚 ImageIO.read 但是无论我给它什么路径,我似乎都无法加载它。我应该把图片放在哪里?我尝试将其放在一个名为“res”的单独文件夹中,将其放入 asset.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"));
第二种方法不需要将图片放在另一个文件夹中,但对我来说这样更干净。
听起来好像您正在使用 Android Studio 并且您正在尝试更改应用程序的图标图像。如果是这种情况,记录的更改方式是通过 Android Studio 的 Image Asset Studio,打开方式是:
在 Android Studio 中,执行文件 --> 打开
然后选择项目的 Android 文件夹,并选择在新窗口中打开它。
等待大约 45 秒,让所有数据进入,然后右键单击“res”文件夹,您将看到打开图像资源工作室的选项。