如何动态更新图像到jlabel
How to dynamically update image to jlabel
我正在尝试创建一个简单的应用程序,它可以从网络摄像头拍摄图像并将其显示在 jlabel 中。但我没有工作。我不明白这是为什么。我的完整项目已上传到 here.
我使用 this 库来拍摄图像,下面的代码就是这样做的。
// get default webcam and open it
Webcam webcam = Webcam.getDefault();
webcam.open();
// get image
BufferedImage image = webcam.getImage();
try {
// save image to PNG file
ImageIO.write(image, "PNG", new File("test.png"));
} catch (IOException ex) {
Logger.getLogger(TestFrame.class.getName()).log(Level.SEVERE, null, ex);
}
webcam.close();
拍摄图像后,我编写了以下代码以将图像显示到 jlabel
String path = "test.png";
imageLbl.setIcon(null);
imageLbl.setIcon(new ImageIcon(path));
imageLbl.revalidate();
imageLbl.repaint();
imageLbl.update(imageLbl.getGraphics());
如果已经有图像,它将显示到 jlabel。但未显示最合理拍摄的图像。很难解释这种情况,如果你能下载并检查我的项目,我将不胜感激here。
您可以使用以下代码将图像动态更新为 jlabel。
String path = "test.png";
imageLbl.setIcon(null);
try {
BufferedImage img=ImageIO.read(new File(path));
imageLbl.setIcon(new ImageIcon(img));
imageLbl.revalidate();
imageLbl.repaint();
imageLbl.update(imageLbl.getGraphics());
} catch (IOException ex) {
}
我正在尝试创建一个简单的应用程序,它可以从网络摄像头拍摄图像并将其显示在 jlabel 中。但我没有工作。我不明白这是为什么。我的完整项目已上传到 here. 我使用 this 库来拍摄图像,下面的代码就是这样做的。
// get default webcam and open it
Webcam webcam = Webcam.getDefault();
webcam.open();
// get image
BufferedImage image = webcam.getImage();
try {
// save image to PNG file
ImageIO.write(image, "PNG", new File("test.png"));
} catch (IOException ex) {
Logger.getLogger(TestFrame.class.getName()).log(Level.SEVERE, null, ex);
}
webcam.close();
拍摄图像后,我编写了以下代码以将图像显示到 jlabel
String path = "test.png";
imageLbl.setIcon(null);
imageLbl.setIcon(new ImageIcon(path));
imageLbl.revalidate();
imageLbl.repaint();
imageLbl.update(imageLbl.getGraphics());
如果已经有图像,它将显示到 jlabel。但未显示最合理拍摄的图像。很难解释这种情况,如果你能下载并检查我的项目,我将不胜感激here。
您可以使用以下代码将图像动态更新为 jlabel。
String path = "test.png";
imageLbl.setIcon(null);
try {
BufferedImage img=ImageIO.read(new File(path));
imageLbl.setIcon(new ImageIcon(img));
imageLbl.revalidate();
imageLbl.repaint();
imageLbl.update(imageLbl.getGraphics());
} catch (IOException ex) {
}