我有一段看似非常简单的代码,但我终其一生都无法弄清楚为什么它不起作用。
我有一个方法可以监听来自相机的图像更新,当它接收到它们时,它会调用另一段代码。
我的听众是:
public void imageUpdated(BufferedImage image) {
if (null != video) {
video.setImage(image);
}
File outputfile = new File("savedingui.jpg");
try {
ImageIO.write(image, "jpg", outputfile);
} catch (IOException e) {
e.printStackTrace();
}
这很高兴将正确的图像保存到光盘。但是,当我从 setImage 方法(在侦听器代码的第 3 行调用)再次保存图像时
public void setImage(BufferedImage image) {
File outputfile = new File("savedorig.jpg");
try {
ImageIO.write(image, "jpg", outputfile);
} catch (IOException e) {
e.printStackTrace();
}
它现在只保存黑色的 jpeg。但是大小合适的黑色方块。
关于发生了什么的任何线索?