如何从本地读取png图片创建BufferedImage对象??
飘飘白云
博客专家认证 2006-06-01 02:20:20 我写了一个函数读取本地的png 图片,在eclipse中工作的好好的,但是一旦打包到jar中,双击运行却怎么也装载不了本地图片,抛出imageio异常,说找不到文件。函数如下
public static BufferedImage getBufferedImage(JFrame jfrm, String fileName)
{
BufferedImage bid = null;
try {
URLClassLoader urlLoader = (URLClassLoader) jfrm.getClass().getClassLoader();
URL url = urlLoader.findResource(fileName);
File imageFile = new File(url.toString().substring(8)); // 原始图片文件
bid = ImageIO.read(imageFile);
} catch (Exception e) {
e.printStackTrace();
}
return bid;
}
在JFrame中的调用代码:
BufferedImage biHill = Tools.getBufferedImage(this,"res/images/house.png");
不知道为什么在打包之后就无法装载?有没有别的办法装载图片转换成BufferedImage呢?我要用它来进行缩放的。