Processing加载图片报NullPointerException:无法找到图片加载方法
问题排查与解决方案
你触发空指针错误的核心原因是代码中存在文件名拼写错误,其他可排查项如下:
- 加载moon图片时的文件名后缀写错:你代码中写的是
moon.jgp,正确的常见图片后缀为jpg/jpeg,需和实际文件的后缀完全匹配,这是最直接的报错原因。 - 注意文件名大小写敏感性:macOS、Linux系统下文件名大小写是严格区分的,若你实际背景图文件名为全小写的
background.jpg,代码中写Background.jpg也会加载失败,需确保代码里的文件名和实际文件的命名大小写、后缀、字符完全一致。
修正后的参考代码如下:
PImage background, moon; void setup() { background = loadImage("Background.jpg"); moon = loadImage("moon.jpg"); // 修正后缀拼写错误 fullScreen(); // 增加非空判断,避免加载失败时报空指针 if (background != null) { background(background); } } void draw() { if (moon != null) { image(moon, width/2, height/2); } }
如果修改后仍存在报错,可以再做如下确认:
- 确认
data文件夹放在项目根目录下,而非src、代码目录等其他子目录中 - 确认系统没有隐藏已知文件后缀,避免出现实际文件名为
moon.jpg.jpg,但你代码中只写了moon.jpg的情况
内容的提问来源于stack exchange,提问作者Ariel
相关产品推荐
相关产品推荐

