gpt4 book ai didi

java - 尝试读取图像并出现空指针异常

转载 作者:行者123 更新时间:2023-12-01 07:27:46 25 4
gpt4 key购买 nike

我正在尝试读取图像并将其存储为整数数组,以便我可以将其显示到屏幕上。我不知道是什么导致我的代码返回此空指针异常,我希望有人能够对此有所了解。

这是加载方法的代码:

import java.awt.image.BufferedImage;
import java.io.IOException;

import javax.imageio.ImageIO;

public class TextureUI {

private int width = 800, height = 600;
public int[] pixels = new int[width*height];

public void load(String path) {
try {
BufferedImage image = ImageIO.read(TextureUI.class.getResource(path));
int w = width;
int h = height;
image.getRGB(0, 0, w, h, pixels, 0, w);
} catch (IOException e) {
e.printStackTrace();
}
}

}

我在这里使用它:

private Render ui;
private TextureUI texui;

public Screen(int width, int height) {
super(width, height);
ui = new Render(width, height);
//Here is where my code is null pointing
texui.load("ui/hands.png"); // < That function call
for (int i = 0; i < (width * height); i++) {
ui.pixels[i] = texui.pixels[i];
}
}

有人能解释一下为什么会发生此错误吗?

最佳答案

您的 texui 属性为 null(未实例化),并且您尝试从中调用方法。您应该在调用 texui 的“load”方法之前实例化它。

将以下代码放入您的 Screen 构造函数中:

texui = new TextureUI();
texui.load("ui/hands.png");

关于java - 尝试读取图像并出现空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21494128/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com