我试图将我的项目目录中的图像加载到 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”,所以它与我在代码中输入的相匹配
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
如果它不在资源文件夹中,我得到和你一样的错误