所以我有一个图像分割项目要完成,第一阶段是让Java显示图像。
我遇到的问题是我可以显示一个窗口,但是我加载的图像没有被渲染。
如果我这样做完全错误,那么请让我知道。我花了一个下午寻找有关使用 Java 处理图像的清晰解释,但是我没有找到任何好的、清晰的资源。
我现在有两个类:主类和图像加载类。
这是我的主要课程:
import javax.swing.*;
public class LoadImageMain extends JFrame {
public static void main(String[] args) {
displayImage("HelloWorld.png");
}
public static void displayImage(String path) {
JFrame frame = new JFrame("Display Image");
LoadImage panel = new LoadImage(path);
frame.setSize(1200, 800);
frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
frame.setContentPane(panel);
frame.setVisible(true);
}
}
我的第二个课程旨在渲染图像:
public class LoadImage extends JPanel {
private Image img;
public LoadImage(String path) {
img = getImage(path);
}
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(img, 0, 0, null);
}
public Image getImage(String path) {
Image tempImg = null;
try {
tempImg = Toolkit.getDefaultToolkit().getImage(path);
}
catch (Exception e) {
System.out.println("Image not found. Error: " + e.getMessage());
}
return tempImg;
}
}