2015-06-21 12 views
10

Mam obrazu I Zrzut ekranu z monitora podstawowego i chcę, aby dodać ją do FX Java ImageView jako tak:BufferedImage do JavaFX obrazu

@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; 
} 

Próbuję ustawić BufferedImage capture do javafx.scene.image.Image image ale typy są niekompatybilne i nie mogę go przesłać. Jak mogę to naprawić?

Odpowiedz

28

Można użyć

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

można wypowiedzieć na temat skuteczności tego rozwiązania? Czy istnieje sposób bezpośredniego utworzenia 'javafx.scene.image.Image' bez uprzedniego utworzenia' BufferedImage'? – Halil

Powiązane problemy