【发布时间】:2014-03-20 15:59:26
【问题描述】:
我这几天一直在尝试解决这个问题。我正在尝试从我的 res 目录加载缓冲图像。我的文件夹层次结构是。
- 主项目文件夹
- 资源
- 我要加载的图片
- 源
- 逻辑文件夹
- loop.java(我的类将字符串传递给BufferedImageLoader进行加载)
- 图形文件夹
- BufferedImageLoader.java(将字符串转换为缓冲图像)
- 逻辑文件夹
- 资源
但是,我不断收到 input = null 错误。如何指向我的图像文件?
我的循环课
BufferedImageLoader loader = new BufferedImageLoader();
try{
spriteSheet = loader.loadImage("/res/sprite_sheet_test.png");
}catch(IOException e){
e.printStackTrace();
}
我的 BufferedImageLoaderClass
public BufferedImage loadImage(String path)throws IOException{
url = this.getClass().getResource(path);
image = ImageIO.read(url);
newImage = new BufferedImage(image.getWidth(), image.getHeight(),
BufferedImage.TYPE_INT_ARGB);
Graphics2D g = newImage.createGraphics();
g.drawImage(image, 0, 0, null);
g.dispose();
return newImage;
}
感谢您的帮助!!
【问题讨论】:
-
请用堆栈跟踪更新问题!另外,您确定要将图像作为文件加载吗?将
res/放在类路径中并作为资源(getClass().getResource(path_without_res_prefix)) 加载通常更容易。谷歌或搜索类似的问题。 -
我是 java 新手,但仍在学习。我可以像你说的那样加载图像。通过使用 url =this.getClass().getResource(path) 但是,我将在字符串路径中放入什么来指向包含我的图像的文件夹?
标签: path bufferedimage