⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 picturedrawer.java

📁 一个Java图形图像处理编辑器的源代码,常见的图片处理效果里面都实现了
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
/* * 图形编辑器演示程序 */package PictureDrawer;import javax.swing.JRadioButton;import javax.swing.ImageIcon;import javax.swing.JFrame;import javax.swing.JInternalFrame;import javax.swing.ButtonGroup;import javax.swing.JDesktopPane;import javax.swing.JMenuItem;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JSeparator;import javax.swing.JToolBar;import javax.swing.JFileChooser;import javax.swing.KeyStroke;import java.net.URLClassLoader;import java.net.URL; import java.util.Vector;import java.awt.event.ActionListener;import java.awt.event.ActionEvent;import java.awt.event.KeyEvent;import java.awt.event.InputEvent;/**  * 这个类是本演示程序的入口,它将创建和演示主应用程序框架 */public class PictureDrawer extends JFrame implements ActionListener{    //常量定义        /**     * 当前没有任何的操作     */    public static final int TOOL_MOUSE = 0;    /**     * 当前操作为放大器操作     */    public static final int TOOL_MAGNIFIER = 1;    /**     * 当前操作为旋转操作     */    public static final int TOOL_ROTATE = 2;            /**     * 当前操作为反色操作     */    public static final int TOOL_INVERT = 3;    /**     * 当前操作为其他反色处理     */    public static final int TOOL_OTHER_INVERT = 4;        /**     * 当前操作为黑色最小阈值     */    public static final int TOOL_BLACK_THRESHOLD = 5;        /**     * 当前操作为白色最大阈值     */    public static final int TOOL_WHITE_THRESHOLD = 6;        /**     * 当前操作亮度调整     */    public static final int TOOL_RESCALE = 7;    /**     * 当前操作图像缩放操作     */    public static final int TOOL_ZOOM = 8;        /**     * 当前操作3x3边缘化操作     */    public static final int TOOL_EDGE33 = 9;          /**     * 当前操作5x5边缘化操作     */    public static final int TOOL_EDGE55 = 10;        /**     * 当前操作锐化操作     */    public static final int TOOL_SHARPEN = 11;        /**     * 当前操作钝化操作     */    public static final int TOOL_BLUR = 12;        /**     * 当前操作:对图像进行垂直镜像操作     */    public static final int TOOL_VERTICAL_MIRROR = 13;        /**     * 当前操作:对图像进行水平镜像操作     */    public static final int TOOL_HORIZONTAL_MIRROR = 14;        /**     * 将当前图形进行恢复     */    public static final int TOOL_RETRIEVE = 15;                /**     * 单击该按钮后,取消其他工具的操作     */    private JRadioButton jrbtnHand;        /**     * 单击该按钮后,显示放大镜,放大图像     */    private JRadioButton jrbtnMagnifier;    /**     * 单击该按钮后,显示旋转图像     */    private JRadioButton jrbtnRotate;    /**     * 单击该按钮后,显示反色当前图像     */    private JRadioButton jrbtnInvert;        /**     * 单击该按钮后,显示其他反色图像     */    private JRadioButton jrbtnOtherInvert;                /**     * 单击该按钮后,将图像变为黑色最小阈值操作     */    private JRadioButton jrbtnBlackThreshold;        /**     * 单击该按钮后,将图像变为白色最大阈值操作     */    private JRadioButton jrbtnWhiteThreshold;        /**     * 单击该按钮后,将图像变亮度调整操作     */    private JRadioButton jrbtnRescale;        /**     * 单击该按钮后,将图像变为缩放操作     */    private JRadioButton jrbtnZoom;        /**     * 单击该按钮后,将图像变3x3边缘操作     */    private JRadioButton jrbtnEdge33;        /**     * 单击该按钮后,将图像变为5x5边缘操作     */    private JRadioButton jrbtnEdge55;    /**     * 单击该按钮后,将图像变锐化操作     */    private JRadioButton jrbtnSharpen;        /**     * 单击该按钮后,将图像变为钝化操作     */    private JRadioButton jrbtnBlur;    /**     * 单击该按钮后,将图像变垂直镜像操作     */    private JRadioButton jrbtnVerticalMirror;        /**     * 单击该按钮后,将图像变为水平镜像操作     */    private JRadioButton jrbtnHorizontalMirror;    /**     * 单击该按钮后,将图像恢复为原来的图像     */    private JRadioButton jrbtnRetrieve;            /**     * 保存工具栏单选按钮     */    private Vector toolbuttons = new Vector();        private JDesktopPane desktop;    private JToolBar jToolBar1;    private JMenuBar mainMenuBar;            private JMenu fileMenu;    private JMenuItem exitMenuItem;    private JSeparator jSeparator1;    private JMenuItem openMenuItem;    private JMenuItem saveMenuItem;    private JMenuItem saveAsMenuItem;        private JMenu modifyMenu;    private JMenuItem magnifierMenuItem;    private JMenuItem rotateMenuItem;    private JMenuItem invertMenuItem;    private JMenuItem otherInvertMenuItem;    private JMenuItem blackThresholdMenuItem;    private JMenuItem whiteThresholdMenuItem;    private JMenuItem rescaleMenuItem;    private JMenuItem zoomMenuItem;    private JMenuItem edge33MenuItem;    private JMenuItem edge55MenuItem;    private JMenuItem sharpenMenuItem;    private JMenuItem blurMenuItem;    private JMenuItem vMirrorMenuItem;    private JMenuItem hMirrorMenuItem;    private JMenuItem retrieveMenuItem;            /**     * 标识当前的操作类型     */    private int current_tool = TOOL_MOUSE;    /**      * 构造函数     */    public PictureDrawer() {        initComponents();        pack();        //最大化窗口        setExtendedState(MAXIMIZED_BOTH);    }    /**      * 初始化组件,该函数被构造函数调用     */    private void initComponents() {        desktop = new JDesktopPane();                mainMenuBar = new JMenuBar();        fileMenu = new JMenu();        openMenuItem = new JMenuItem();        jSeparator1 = new JSeparator();        exitMenuItem = new JMenuItem();        saveMenuItem = new JMenuItem();        saveAsMenuItem = new JMenuItem();                modifyMenu = new JMenu();    	magnifierMenuItem = new JMenuItem();    	rotateMenuItem = new JMenuItem();    	invertMenuItem = new JMenuItem();    	otherInvertMenuItem = new JMenuItem();    	blackThresholdMenuItem = new JMenuItem();    	whiteThresholdMenuItem = new JMenuItem();    	rescaleMenuItem = new JMenuItem();    	zoomMenuItem = new JMenuItem();    	edge33MenuItem = new JMenuItem();    	edge55MenuItem = new JMenuItem();    	sharpenMenuItem = new JMenuItem();    	blurMenuItem = new JMenuItem();    	vMirrorMenuItem = new JMenuItem();    	hMirrorMenuItem = new JMenuItem();    	retrieveMenuItem = new JMenuItem();                setTitle(java.util.ResourceBundle.getBundle("PictureDrawer/default").                getString("Picture_Drawer"));        addWindowListener(new java.awt.event.WindowAdapter() {            public void windowClosing(java.awt.event.WindowEvent evt) {                exitForm(evt);            }        });        getAccessibleContext().setAccessibleName(            java.util.ResourceBundle.getBundle("PictureDrawer/default").                getString("Image_Viewer_Frame"));        getContentPane().add(desktop, java.awt.BorderLayout.CENTER);        desktop.getAccessibleContext().setAccessibleName(            java.util.ResourceBundle.getBundle("PictureDrawer/default").                getString("Image_Desktop"));        desktop.getAccessibleContext().setAccessibleDescription(            java.util.ResourceBundle.getBundle("PictureDrawer/default").                getString("Image_desktop"));        //创建File菜单        fileMenu.setMnemonic('f');        fileMenu.setText(            java.util.ResourceBundle.getBundle("PictureDrawer/default").                getString("File"));        fileMenu.getAccessibleContext().setAccessibleName(                        fileMenu.getText());        fileMenu.getAccessibleContext().setAccessibleDescription(                        fileMenu.getText());        //Open菜单        openMenuItem.setAccelerator(            KeyStroke.getKeyStroke(KeyEvent.VK_O, InputEvent.CTRL_MASK));        openMenuItem.setMnemonic('o');        openMenuItem.setText(

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -