java飞机大战程序图片不显示

作为一个java初学者,最近在学习尚学堂免费的基础java课程时,跟着视频做一个planewar/飞机大战的程序,遇到了背景和飞机图片加载不了的问题,几经搜索,终于解决,分享一下过程和解决办法:

代码片段如下,使用Gameutil.class.getClassLoader().getResource获得图片文件的路径url,利用ImageIO.read读取图片文件:

private GameUtil(){}public static Image getImage(String path){BufferedImage bi = null;try {URL u = GameUtil.class.getClassLoader().getResource(path);bi = ImageIO.read(u);} catch (IOException e) {e.printStackTrace();}return bi;}public static void main(String[] args) {Image pl = GameUtil.getImage("images/plane.png");System.out.println(pl);}

然而最终打印出来的Image对象 pl 却是 null。

上网查了很多做这个小项目的文章,有一些人也遇到了加载不了图片的问题,但跟我的问题不同。他们是报错 input==null,这种问题一般是路径错误,有的是getImage()里的相对路径填的不准确,少打或多打了 / ,或者图片素材放置的路径不对,有遇到这种问题的朋友,具体解决方法可以参考

:https://blog.csdn.net/qq_41930618/article/details/104207418

而我参考他的测试思路,运行以下代码,结果见注释

 public static void main(String[] args) {Image pl = GameUtil.getImage("images/plane.png");System.out.println(pl);
//nullSystem.out.println(GameUtil.class.getClassLoader().getResource(""));
//file:/D:/JAVA%20project/PlaneWar/out/production/PlaneWar1.0System.out.println(GameUtil.class.getClassLoader().getResource("images/plane.png"));//file:/D:/JAVA%20project/PlaneWar/out/production/PlaneWar1.0/images/plane.png}

可以发现,路径是没有错误的,还找到了文件,Gameutil.class.getClassLoader().getResource这一步没有问题,但pl就是null,问题出在getImage()方法里的ImageIO.read()这一步。在上网搜索相关问题,终于找到了问题所在,有点出乎意料,原来是图片格式的小问题...

我的图片素材是在csdn上以下博客下载的,在这里感谢他的分享,给我很大方便:

https://blog.csdn.net/quanquanya/article/details/104870752?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168087736416782427468602%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=168087736416782427468602&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-104870752-null-null.142^v82^control,201^v4^add_ask,239^v2^insert_chatgpt&utm_term=%E5%B0%9A%E5%AD%A6%E5%A0%82%E9%A3%9E%E6%9C%BA%E5%A4%A7%E6%88%98&spm=1018.2226.3001.4187

博客里分享链接是简书的页面,图片打开原图另存为是webp文件,我选择把后缀改为png和jpg使用。但实际上webp文件并不是改了后缀真实文件类型就变了,文件其实还是wepb文件,用记事本打开图片文件可以看到开头的webp字段。而ImageIO.read()方法是无法读取webp文件的,会返回null。这一部分我是在以下博客学习到的:

ImageIo.read() 读取图片时返回Null的解决方法_Apoca_lypse的博客-CSDN博客

但它提供的解决方法我没有使用,觉得为这一个简单小项目再引入jar有些麻烦,好在只有两张图片,我使用了一个方便的笨办法,把图片素材文件用windows系统自带的画图打开,直接另存为png、jpg格式就好了,在用记事本打开新文件可以发现webp字段不见了,文件类型确实改变了,程序也能正常运行了,不再返回null了。

把这个小问题的两种解决办法分享给跟我一样的初学者们,主要寻找问题所在的方式思路可以借鉴。作为初学者,学艺不精,文章可能多有谬误,还请大家指正。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/64305.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

博士申请 | 澳大利亚悉尼科技大学招收人工智能/软件工程方向全奖博士生

合适的工作难找?最新的招聘信息也不知道? AI 求职为大家精选人工智能领域最新鲜的招聘信息,助你先人一步投递,快人一步入职! 悉尼科技大学 澳大利亚悉尼科技大学(UTS)座落于风景优美的悉尼市中心…

香港中文大学岳翔宇老师招收人工智能全奖博士生/博士后/研究助理/实习生

点击下方卡片,关注“CVer”公众号 AI/CV重磅干货,第一时间送达 香港中文大学岳翔宇老师招收人工智能全奖博士生、博士后、研究助理、实习生 岳翔宇博士(个人主页 http://people.eecs.berkeley.edu/~xyyue)将于今年秋季加入香港中文…

关于我——人工智能专业大二的一年

关于我——人工智能专业大二的一年 活动地址:毕业季进击的技术er 写作内容参考方向:在校生 文章目录 关于我——人工智能专业大二的一年大二上学期数学建模社团经历参加的考试学校课程掌握技术参与活动和竞赛 大二下学期参加的比赛掌握技术学校课程最后 …

2023届推免经历分享-四非计算机保研边缘人

四非边缘人的保研历程 小小的开头 随着28号的系统开放,我接受了西电的拟录取,保研之路也就暂告一段落,其实真正花在准备保研上的时间其实不算长。由于我是院里的第一届学生,而且本科学校确实很一般,所以最后专业是否…

人工智能专业读研导师怎么选?建议你收藏这份名单

转自:AI科技评论 踏上学术道路,导师选择是关键中的关键,几乎直接决定你未来科研生涯的幸福指数!随着研究生录取临近,各大院校招生大战烽烟再起,在极具潜力的人工智能领域尤其如此。 在瞄向清华、北大等传统…

人工智能专业劝退贴...

本来我是没打算写这么个东西的,虽然我看到了好几次人工智能专业要学啥?想学人工智能专业去哪个学校好?这样类似的问题,我都没有回答,因为恐怕我一张嘴就是劝退。可是现在身边有朋友咨询我说家里亲戚的小孩对人工智能专…

人工智能专业保研面试如何准备?

人工智能作为最近大火的专业,是很多保研er期望能在研究生阶段深入学习的方向,前两天中国人民大学高瓴人工智能学院夏令营也开启了报名,相信有意在AI方向深造的保研er都不会错过! 那么,计算机专业的我们应该如何去准备A…

数说CS|中国人民大学高瓴人工智能学院保研生源大起底!

1、院校介绍 中国人民大学高瓴人工智能学院由高瓴资本创始人兼CEO、耶鲁大学校董、中国人民大学校友张磊先生捐资支持,是中国人民大学二级学院,于2019年成立。该学院主要招收人工智能专业的学生,对程序设计、数据结构与算法、计算机、人工智…

清华刘云浩教授回复学生2000问,你想了解的人工智能问题可能都在这里

来源:机器之心 本文约28400字,建议阅读30分钟。 本文介绍了清华大学软件学院刘云浩教授解答关于AI方面的问题。 清华大学软件学院刘云浩教授近日对学生们的提问写出了万字长文回复。今年他回答的问题也紧跟计算机科学,以及人工智能技术的潮流…

[当人工智能遇上安全] 1.人工智能真的安全吗?浙大团队外滩大会分享AI对抗样本技术

您或许知道,作者后续分享网络安全的文章会越来越少。但如果您想学习人工智能和安全结合的应用,您就有福利了,作者将重新打造一个《当人工智能遇上安全》系列博客,详细介绍人工智能与安全相关的论文、实践,并分享各种案…

[论文阅读] (04) 人工智能真的安全吗?浙大团队外滩大会分享AI对抗样本技术

外滩大会 AI安全-智能时代的攻守道 Deep Learning Security: From the NLP Perspective 浙江大学 《秀璋带你读论文》系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢。由于作者的英文水平和学术能力不高,需要不断提…

分享一些关于ChatGPT等AI的项目资料

文章目录 分享一些关于ChatGPT等AI的项目资料awesome-open-gpt/gpt相关开源项目合集飞书知识库-🔥 紧跟AIGC风向知识库 分享一些关于ChatGPT等AI的项目资料 前几天找gpt等ai接入qq/wx的时候无意发现一个很好的项目,里面全是介绍关于chatgpt的资料&#…

2020年编程语言风向标,收下这份上岸指南!

有人说:经历了2019年的“市场变革”后,未来这一年将会至关重要,是决定各自命运的定型年。 那么对于准备进入IT行业的小伙伴来说,今年的风向标如何?哪些编程语言会持续大热? 希望这份“上岸指南”能帮到你做判断,规避风险~加油! 每年都会有注定失败的语言,也会出现“…

技术风向标|实在智能连续五次入选全球权威咨询机构Gartner重磅报告

近年来,AI行业准独角兽实在智能连续入选全球权威咨询机构Gartner系列重磅报告。在其近日发布的《Hype Cycle for ICT in China,2023》报告中,实在智能再次成为重点推荐的供应商企业,不仅彰显了实在智能在行业内的领先地位&#xf…

AI绘画关键词网站推荐 :轻松获取百万个提示词!完全免费

一、lexica.art 该网站拥有数百万Stable Diffusion案例的文字描述和图片,可以为大家提供足够的创作灵感。 使用上也很简单,只要在搜索框输入简单的关键词或上传图片,就能为你提供大量风格不同的照片。点击照片就能看到完整的AI关键词&#…

2022 AI 岗位风向标

原创:晏茜 资料来源:单博 1. AI 算法岗能力需求 1.1 人工智能现在在哪里? 人工智能无处不在,它早已融入我们日常生活的方方面面,人工智能的出现,彻底改变人们的工作和生活方式。有没有发现每天的抖音给你推荐的视频,你是不是越看越爱看?每次上淘宝,你是不是总能看…

亚马逊CTO:未来十年的三大风向标

在近期刚结束的第10届亚马逊云科技re: Invent 2021大会上,亚马逊CTO Werner Vogels发表了主题演讲以及在其个人博客上发表了2022及之后的科技预测等文章。综合Werner对未来发展的观点与分析,本文特总结出三大风向标:机器人、可持续和超越想象…

BAT新风向标:程序员有福利了!

人工智能已成为新时代的风向标,如果你是对人工智能感兴趣的互联网工作者、大学生、研究生并期望在 AI 方向发展,建议你一定要深入学习一下人工智能。因为,未来将是人工智能的时代! 为什么会有这个判断呢? 第一&#xf…

从AI前沿到科技自立:百度大脑的风向标意义

即将过去的2021年,被全球众多科学机构与数据调查报告认为是AI的全面推进之年。 这一年中,AI在生物计算、通用智能等领域取得惊人进展;与自动驾驶、节能环保等领域结合引发了社会关注。各个国家与地区,普遍延续着此前制定的AI战略与…

比尔·盖茨的难堪时刻(视频+图片)

任何人都有难堪的时刻,盖茨大叔也不例外。虽然连续十二次成为福布斯富豪榜榜首,风光无限,但盖茨大叔的人生道路绝对不平坦。之前本站给大家带来他在演示Windows98时的蓝屏视频。但如果你以为那已经是盖茨大叔一生里最难堪的时刻,那…