如何从本地读取png图片创建BufferedImage对象??

飘飘白云 飘飘白云 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我写了一个函数读取本地的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呢?我要用它来进行缩放的。
...全文
评论 3
收藏 已收藏
分享
返回顶部
飘飘白云
飘飘白云 领域专家: 操作系统技术领域 领域专家: 操作系统技术领域
Java SE 62,620 成员 307,251 内容