【发布时间】:2025-12-15 19:30:01
【问题描述】:
我正在用 JavaFX 编写一个应用程序,只需单击一个按钮即可修改图片。所以我有一个 ImageView,我必须从中提取图像,应用一些更改并将其设置回来。但是,当我显示从 ImageView 获得的图像时,它似乎是空白的,只是黑屏。 我写了一些测试代码,它代表了这种奇怪的行为。
public class Corrector extends Application {
@Override
public void start(Stage stage) {
try {
javafx.scene.image.ImageView imageView = new ImageView();
BufferedImage a = ImageIO.read(ClassLoader.getSystemResource("/image.jpg"));
javafx.scene.image.Image image = SwingFXUtils.toFXImage(a, null);
imageView.setImage(image);
BufferedImage backImg = new BufferedImage(a.getWidth(), a.getHeight(), a.getType());
SwingFXUtils.fromFXImage(imageView.getImage(), backImg);
ShowImages.showWindow(backImg, "Image from imageVIew", true);
stage.setTitle("ImageView");
stage.setWidth(1000);
stage.setHeight(500);
Scene scene = new Scene(new Group());
VBox root = new VBox();
root.getChildren().addAll(imageView);
scene.setRoot(root);
stage.setScene(scene);
stage.show();
} catch (Exception e) {
System.out.printf(e.getMessage());
}
}
public static void main(String[] args) {
launch(args);
}
}
当我运行应用程序时,“ImageView”屏幕包含图像,其中“Image frm ImageView”为空白。 如有任何建议,我将不胜感激。
【问题讨论】:
标签: javafx