保存图片或者复制图片的方法

保存图片或者复制图片的方法

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Menu;
import javafx.scene.control.MenuBar;
import javafx.scene.control.MenuItem;
import javafx.scene.control.ScrollPane;
import javafx.scene.image.ImageView;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.stage.FileChooser;
import javafx.stage.Stage;
import java.io.*;



public class Jie extends Application {
    @Override
    public void start(Stage primaryStage){
        MenuBar menubar = new MenuBar();
        Menu menu1 = new Menu("操作");
        MenuItem menuItem1 = new MenuItem("保存或复制");
        menubar.getMenus().addAll(menu1);
        menu1.getItems().addAll(menuItem1);
        ImageView iv  = new ImageView("234.jpg");
        iv.setPreserveRatio(true);
        //iv.setFitHeight(600);
        HBox hb = new HBox();
        hb.getChildren().add(iv);
        BorderPane bp = new BorderPane();
        bp.setTop(menubar);
        ScrollPane sp = new ScrollPane(hb);
        bp.setCenter(sp);

        Scene scene = new Scene(bp);
        primaryStage.setTitle("title");
        primaryStage.setScene(scene);
        primaryStage.show();
        menuItem1.setOnAction(e->{savePictures();});
    }

    public void savePictures(){
        //file1是已经被打开的图片
        File file1 = new File("E:\\IDEA(diy)\\workplace2\\Picture\\src\\234.jpg");

        FileChooser fileChooser = new FileChooser();
        fileChooser.getExtensionFilters().addAll(
                new FileChooser.ExtensionFilter("JPG图片","*.jpg"),
                new FileChooser.ExtensionFilter("JPEG图片","*.jpeg"),
                new FileChooser.ExtensionFilter("PNG图片","*.png"),
                new FileChooser.ExtensionFilter("所有文件","*.*")
        );
        //file2是需要将图片保存在什么位置+图片名
        File file2 = fileChooser.showSaveDialog(null);

        if(file2!=null){
            try {
                FileInputStream fis = new FileInputStream(file1.getPath());
                DataInputStream dis = new DataInputStream(fis);
                FileOutputStream fos = new FileOutputStream(file2.getPath());
                DataOutputStream dos = new DataOutputStream(fos);
                byte[] bs = new byte[1024];
                int length=-1;
                while((length = dis.read(bs))!=-1){
                    dos.write(bs,0,length);
                }
                dis.close();
                dos.flush();
                fis.close();
                fos.close();
                System.out.println("文件保存完成!");
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    public static void main(String[] args){
        Application.launch(args);
    }
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值