首页 > 解决方案 > How to Save the Image of ImageView to the local system in JavaFx?

问题描述

Please help me out. I have done something like the below code to save the image of ImageView but getting a black image.

    saveBtn.setOnAction((ActionEvent event) -> {

        text.setText("Save Image is applied.");

        BufferedImage img = new BufferedImage((int)mainImageView.getImage().getWidth(), 
                (int) mainImageView.getImage().getHeight(), BufferedImage.TYPE_INT_ARGB); 
        //BufferedImage img = mainImageView.getImage(); 

        FileChooser stegoImageSaver = new FileChooser();
        stegoImageSaver.setTitle("Save Image File");
        stegoImageSaver.setInitialDirectory(new File("C:\\"));
        stegoImageSaver.getExtensionFilters().addAll(
            new FileChooser.ExtensionFilter("PNG Files", "*.png"),
            new FileChooser.ExtensionFilter("BMP Files", "*.bmp"),
            new FileChooser.ExtensionFilter("GIF Files", "*.gif"));

        File f1 = stegoImageSaver.showSaveDialog(stage);

        try{

            if (f1 != null) {
                String name = f1.getName();
                String extension = name.substring(1+name.lastIndexOf(".")).toLowerCase();
                ImageIO.write(img, extension , f1);
            }
        }
        catch(Exception e){}
            
    });

标签: javafx

解决方案


推荐阅读