2015-06-21 78 views
10

我有一个形象,我从主显示器屏幕截图,我想将它添加到Java FX ImageView像这样:BufferedImage中的JavaFX图像

@FXML 
protected ImageView screenshot() throws AWTException, IOException { 
    Rectangle screenRect = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()); 
    BufferedImage capture = new Robot().createScreenCapture(screenRect); 
    ImageView imageView = new ImageView(); 
    Image image = capture; //Error 
    imageView.setImage(image); 
    return imageView; 
} 

我试图设置BufferedImage capturejavafx.scene.image.Image image但类型是不兼容的,我也不能施展它。我该如何纠正这一点?

回答

28

您可以使用

Image image = SwingFXUtils.toFXImage(capture, null); 
+2

你能不能说说这个解决方案的性能有何评论?有没有办法直接创建'javafx.scene.image.Image'没有首先创建'BufferedImage'? – Halil