Java BufferedImage 加载不工作 |路径问题
Java BufferedImage loading not working | problems with the path
我有一种将图像转换为缓冲图像的方法
public static BufferedImage imageLoader(String path)
加载图片时returns..
return ImageIO.read(ImageLoader.class.getResource(path));
所以当我尝试在 canvas 上加载和显示图像时,我这样做了..
testImage = ImageLoad.imageLoader("textures/sky.png");
好吧,我得到的是这个没有正确加载的事实,我试图找出原因,当我加载它时,会发生什么......
Exception in thread "main" java.lang.IllegalArgumentException:
input==null!
at javax.imageio.ImageIO.read(ImageIO.java:1388)
at gfx.ImageManager.ImageLoad.imageLoader(ImageLoad.java:14)
at game.Thread.GameThread.init(GameThread.java:119)
at game.Thread.GameThread.run(GameThread.java:30)
at game.Thread.GameThread.startThread(GameThread.java:50)
at launcher.Launcher.main(Launcher.java:15)
所以基本上它没有正确加载,我把所有这些信息都放在一起的原因是因为我问过几个人但他们无法弄清楚。所以我想看看我是否做错了什么,或者是否有更简单的解决方案。这是我项目的 src 文件夹...
如果有帮助,我正在使用 IntelliJ。
实现的片段
* @exception IllegalArgumentException if <code>input</code> is
* <code>null</code>.
* @exception IOException if an error occurs during reading.
*/
public static BufferedImage read(File input) throws IOException {
if (input == null) {
throw new IllegalArgumentException("input == null!");
}
这应该确认您传递给方法的值是 null
并帮助您调试为什么共享代码可能 ImageLoader.class.getResource(path)
could/would 是 null
多于。
由于它依赖于其他几个变量,例如 path
和 ImageLoader
的定义,我会留给您在那里进行一些调试并整理出来。
我有一种将图像转换为缓冲图像的方法
public static BufferedImage imageLoader(String path)
加载图片时returns..
return ImageIO.read(ImageLoader.class.getResource(path));
所以当我尝试在 canvas 上加载和显示图像时,我这样做了..
testImage = ImageLoad.imageLoader("textures/sky.png");
好吧,我得到的是这个没有正确加载的事实,我试图找出原因,当我加载它时,会发生什么......
Exception in thread "main" java.lang.IllegalArgumentException:
input==null!
at javax.imageio.ImageIO.read(ImageIO.java:1388)
at gfx.ImageManager.ImageLoad.imageLoader(ImageLoad.java:14)
at game.Thread.GameThread.init(GameThread.java:119)
at game.Thread.GameThread.run(GameThread.java:30)
at game.Thread.GameThread.startThread(GameThread.java:50)
at launcher.Launcher.main(Launcher.java:15)
所以基本上它没有正确加载,我把所有这些信息都放在一起的原因是因为我问过几个人但他们无法弄清楚。所以我想看看我是否做错了什么,或者是否有更简单的解决方案。这是我项目的 src 文件夹...
如果有帮助,我正在使用 IntelliJ。
* @exception IllegalArgumentException if <code>input</code> is
* <code>null</code>.
* @exception IOException if an error occurs during reading.
*/
public static BufferedImage read(File input) throws IOException {
if (input == null) {
throw new IllegalArgumentException("input == null!");
}
这应该确认您传递给方法的值是 null
并帮助您调试为什么共享代码可能 ImageLoader.class.getResource(path)
could/would 是 null
多于。
由于它依赖于其他几个变量,例如 path
和 ImageLoader
的定义,我会留给您在那里进行一些调试并整理出来。