美文网首页
ImageIO对图片处理

ImageIO对图片处理

作者: 开心的小哈 | 来源:发表于2021-11-24 21:00 被阅读0次
package test.object;

import java.awt.Canvas;
import java.awt.FileDialog;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;

public class TextMain {
    public static void main(String[] args) {
        new TextMain().init();
    }

    public void init() {

        Frame frame = new Frame("Image despay");
        MenuBar menuBar = new MenuBar();
        Menu file = new Menu("file");
        MenuItem open = new MenuItem("open");
        MenuItem sven = new MenuItem("sven");
        MyImage myImage = new MyImage();
        open.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                FileDialog fileDialog = new FileDialog(frame, "Open Image", FileDialog.LOAD);
                fileDialog.setVisible(true);
                String directory = fileDialog.getDirectory();
                String file2 = fileDialog.getFile();
                try {
                    image = ImageIO.read(new File(directory, file2));
                    System.out.println("-1111-");
                    myImage.repaint();
                } catch (IOException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                }
            }
        });
        sven.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                FileDialog fileDialog = new FileDialog(frame, "save Image", FileDialog.SAVE);
                fileDialog.setVisible(true);
                String directory = fileDialog.getDirectory();
                String file2 = fileDialog.getFile();

                try {

                    boolean write = ImageIO.write(image, "JPEG", new File(directory, file2));
                    String[] writerFormatNames = ImageIO.getWriterFormatNames();
                    for (String data : writerFormatNames) {
                        System.out.println(data);
                    }
                    System.out.println("-2222-" + directory + file2 + write + "\n");

                } catch (IOException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                }

            }
        });
        file.add(open);
        file.add(sven);
        menuBar.add(file);
        frame.setMenuBar(menuBar);
        frame.add(myImage);
        frame.setBounds(100, 100, 500, 500);
        frame.setVisible(true);
        frame.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });

    }

    BufferedImage image;

    class MyImage extends Canvas {

        @Override
        public void paint(Graphics g) {
            g.drawImage(image, 0, 0, null);
        }

    }
}

相关文章

网友评论

      本文标题:ImageIO对图片处理

      本文链接:https://www.haomeiwen.com/subject/yxjotrtx.html