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

📄 dip.java

📁 java版的位图处理
💻 JAVA
字号:
import java.awt.image.*;import javax.swing.*;import bmpinfo.Bmp_Information;import bmpload.BmpJLabel;import java.io.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.*;import javax.swing.filechooser.FileFilter;public class DIP extends JFrame {	public DIP() {        initComponents();    }    private void initComponents() {        jPanel1 = new JPanel();        bmplabel = new BmpJLabel();        property = new JTextArea();        jLabel2 = new JLabel();        file_field = new JTextField();        jButton1 = new JButton();        jMenuBar1 = new JMenuBar();        filemenu = new JMenu();        viewmenu = new JMenu("View");        editmenu=new JMenu("Edit");		helpmenu=new JMenu();        setTitle("Bmp_Inf");        setResizable(false);        addWindowListener(new WindowAdapter() {            public void windowClosing(WindowEvent evt) {                exitForm(evt);            }        });        jPanel1.setLayout(null);        bmplabel.setBorder(new TitledBorder(null, "Preview", TitledBorder.DEFAULT_JUSTIFICATION,TitledBorder.DEFAULT_POSITION, new Font("Dialog", 0, 14), new Color(255, 51, 51)));        jPanel1.add(bmplabel);        bmplabel.setBounds(20, 10, 150, 220);        property.setEditable(false);        property.setBackground(new Color(235, 233, 237));        property.setForeground(new Color(51, 51, 255));        property.setBorder(new TitledBorder(null, "Porperty",TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, new Font("Dialog", 0, 14), new Color(255, 51, 51)));        jPanel1.add(property);        property.setBounds(180, 10, 150, 220);        jLabel2.setText("File: ");        jPanel1.add(jLabel2);        jLabel2.setBounds(10, 240, 36, 15);        file_field.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent evt) {                file_fieldActionPerformed(evt);            }        });        jPanel1.add(file_field);        file_field.setBounds(50, 240, 250, 20);        jButton1.setIcon(new ImageIcon("Open16.gif"));        jButton1.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent evt) {                jButton1ActionPerformed(evt);            }        });        jPanel1.add(jButton1);        jButton1.setBounds(310, 240, 30, 20);        getContentPane().add(jPanel1, BorderLayout.CENTER);        filemenu.setText("File");		filemenu.setMnemonic('F');        jMenuBar1.add(filemenu);		viewmenu.setMnemonic('V');		jMenuBar1.add(viewmenu);		editmenu.setMnemonic('E');		jMenuBar1.add(editmenu);		helpmenu.setText("Help");		helpmenu.setMnemonic('H');        jMenuBar1.add(helpmenu);        setJMenuBar(jMenuBar1);		//File菜单		filemenu.add(new AbstractAction("Open...") {			public void actionPerformed(ActionEvent evt) {				try{				JFileChooser fch=new JFileChooser();				FileFilter filter=new Filter("BMP位图",".bmp");				fch.addChoosableFileFilter(filter);				fch.setDialogTitle("File Open");				fch.setFileSelectionMode(JFileChooser.FILES_ONLY);				int status=fch.showOpenDialog(DIP.this);				if(status==JFileChooser.APPROVE_OPTION){					File selectfile=fch.getSelectedFile();					fileName = selectfile.getPath();					file_field.setText(fileName);					bmplabel.loadBmp(selectfile);				}else{					fileName="";				}				}catch(Exception e){System.out.println(e);}				repaint();				if(fileName!=""){					Bmp_Information pro=new Bmp_Information(fileName);					property.setText("");					property.append(pro.getType());property.append("\n");					property.append(pro.getTotalsize());property.append("\n");					property.append(pro.getOffbits());property.append("\n");					property.append(pro.getInfsize());property.append("\n");					property.append(pro.getWidth());property.append("\n");					property.append(pro.getLength());property.append("\n");					property.append(pro.getBitcounts());property.append("\n");					property.append(pro.getDatasize());property.append("\n");				}else{					property.setText("");				}								}		});		filemenu.add(new AbstractAction("Save...") {			public void actionPerformed(ActionEvent evt) {				JFileChooser fch=new JFileChooser(".");				fch.setDialogTitle("Save");				FileFilter filter=new Filter("BMP位图",".bmp");				fch.addChoosableFileFilter(filter);				int status=fch.showSaveDialog(DIP.this);				if(status==JFileChooser.APPROVE_OPTION)				{					File file=fch.getSelectedFile();					if(!file.exists()){						File source=bmplabel.getFileName();						BufferedInputStream bfs=null;						BufferedOutputStream bos=null;						int size=(int)source.length();						byte[] date=new byte[size];						try{							bfs=new BufferedInputStream(new FileInputStream(source));							int datasize=bfs.read(date,0,size);							bos=new BufferedOutputStream(new FileOutputStream(file.getAbsolutePath()+".bmp"));							bos.write(date,0,size);						}catch(Exception e){							System.out.println(e);						}finally{							try{								bfs.close();								bos.close();							}catch(IOException e){}						}					}				}			}		});		filemenu.addSeparator();		filemenu.add(new AbstractAction("Exit") {			public void actionPerformed(ActionEvent evt) {				System.exit(0);							}		});				//View菜单		viewmenu.add(new AbstractAction("Histogram..."){			public void actionPerformed(ActionEvent evt){				 hisgram zft=new hisgram(DIP.this, true,(bmplabel.getFileName().toString()));				 zft.show();			}		});				//Edit菜单		editmenu.add(new AbstractAction("Equilize"){			public void actionPerformed(ActionEvent evt){				Equilize eq=new Equilize(fileName);				eq.equipoise();				bmplabel.loadBmp(eq.tempfile);			}		});		//Help菜单		helpmenu.add(new AbstractAction("About..."){			public void actionPerformed(ActionEvent evt){				JOptionPane.showMessageDialog(DIP.this, "DIPv1.0","About", JOptionPane.INFORMATION_MESSAGE,new ImageIcon("icon.gif"));			}		});				        Dimension screenSize =Toolkit.getDefaultToolkit().getScreenSize();        setBounds((screenSize.width-359)/2, (screenSize.height-325)/2, 359, 325);    }	    private void file_fieldActionPerformed(ActionEvent evt) {    }    private void jButton1ActionPerformed(ActionEvent evt) {		try{		JFileChooser fch=new JFileChooser(".");		FileFilter filter=new Filter("BMP位图",".bmp");		fch.addChoosableFileFilter(filter);		fch.setDialogTitle("File Open");		int status=fch.showOpenDialog(DIP.this);		File selectfile=fch.getSelectedFile();		fileName = selectfile.toString();		file_field.setText(fileName);		bmplabel.loadBmp(selectfile);		}catch(Exception e){System.out.println(e);}		repaint();		if(fileName!=""){			Bmp_Information pro=new Bmp_Information(fileName);			property.setText("");			property.append(pro.getType());property.append("\n");			property.append(pro.getTotalsize());property.append("\n");			property.append(pro.getOffbits());property.append("\n");			property.append(pro.getInfsize());property.append("\n");			property.append(pro.getWidth());property.append("\n");			property.append(pro.getLength());property.append("\n");			property.append(pro.getBitcounts());property.append("\n");			property.append(pro.getDatasize());property.append("\n");		}else{			property.setText("");		}			}        private void exitForm(WindowEvent evt) {        System.exit(0);    }    public static void main(String args[]) {        new DIP().show();    }    private JButton jButton1;    private BmpJLabel bmplabel;    private JLabel jLabel2;    private JMenu filemenu;	private JMenu viewmenu;	private JMenu editmenu;	private JMenu helpmenu;    private JMenuBar jMenuBar1;    private JPanel jPanel1;    private JTextArea property;    private JTextField file_field;	private String fileName=null;    }

⌨️ 快捷键说明

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