Java ImageUtil.loadImageResource - 无法加载图像

问题描述 投票:0回答:1

我试图将我的项目目录中的图像加载到 BufferedImage 资源中,但收到一条错误消息,指出它无法加载图像。这是提供错误的行:

final BufferedImage plusMinusIcon = ImageUtil.loadImageResource(CalculatorProPlugin.class, "plus_minus_icon.png");

这是我在尝试构建时收到的错误:

net.runelite.client.util.ImageUtil - Failed to load image from class: 
...plugins.calculatorpro.CalculatorProPlugin path: 
...plugins.calculatorpro/plus_minus_icon.png

图像保存在项目目录中,如果我从目录中将路径复制到“plus_minus_icon.png”,我会得到“...plugins.calculatorpro\plus_minus_icon.png”,所以它与我在代码中输入的相匹配

java image bufferedimage
1个回答
0
投票

使用

embedded-resource
代替:

InputStream inputStream = this.getClass().getResourceAsStream("plus_minus_icon.png");

然后按照这个answer所示转换输入流:

BufferedImage plusMinusIcon = ImageIO.read(inputStream);

我输入了你的代码,但运行后,“inputStream == null”,返回 true

您的图像应位于

resources
文件夹中,如如何使用图标教程所示,另请参阅此答案了解更多信息,您还可以参考本教程了解原因它需要在
resources
文件夹中。

当我

System.out.println(inputStream)
这就是我得到的:

java.io.BufferedInputStream@57829d67

如果它不在资源文件夹中,我得到和你一样的错误

© www.soinside.com 2019 - 2024. All rights reserved.