批量压缩放大图片(java).docx_第1页
批量压缩放大图片(java).docx_第2页
批量压缩放大图片(java).docx_第3页
批量压缩放大图片(java).docx_第4页
批量压缩放大图片(java).docx_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

package com.tzx.a;import java.awt.BorderLayout;import java.awt.Font;import java.awt.GridLayout;import java.awt.Image;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.awt.image.RenderedImage;import java.io.File;import java.io.IOException;import javax.imageio.ImageIO;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTextArea;import javax.swing.JTextField;import javax.swing.UIManager;public class PicPro extends WindowAdapter implements ActionListenerJFrame frame;JPanel panel1,panel3,panel4,panel5;JTextField tf1,tf2,tf3,tf4;JTextArea ta;JLabel label1,label2,label3,label4;JButton button,button1,button2;Font font1=new Font(宋体,Font.PLAIN,20);Font font2=new Font(宋体,Font.PLAIN,16);File filein;File fileout;Filefilelist;File wzw=new File(wzw);int width;int height;boolean flag_in;/输入文件夹boolean flag_out;/输出文件夹boolean flag_num;/缩放像素PicPro()frame=new JFrame(批量图片处理);frame.setSize(500,600);frame.setLocation(300,100);frame.setResizable(false);panel1=new JPanel();panel3=new JPanel();panel4=new JPanel();panel5=new JPanel();tf1=new JTextField(30);tf2=new JTextField(30);tf3=new JTextField(7);tf4=new JTextField(7);tf1.setFont(font1);tf2.setFont(font1);tf3.setFont(font1);tf4.setFont(font1);label1=new JLabel(源文件夹);label2=new JLabel(目标文件夹);label3=new JLabel(转换后X:);label4=new JLabel(转换后Y:);label1.setFont(font2);label2.setFont(font2);label3.setFont(font2);label4.setFont(font2);ta=new JTextArea();ta.setFont(font2);ta.setEditable(false);ta.setLineWrap(true);JScrollPane scroller=new JScrollPane(ta);scroller.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);frame.add(scroller,BorderLayout.CENTER);ta.setText(请注意各项的填写格式,区分大小写:n+源文件夹填写要转换图片集所在文件夹,例如D:picture;n+目标文件夹填写转换后保存的文件夹,例如C:picture;n+转换后X:填写希望转换后图片的宽度(整数);n+转换后Y:填写希望转换后图片的高度(整数);n+当源文件夹中有非图片格式文件或文件夹时,程序会自动选择出图片文件n+Change之前请先Check,当目标文件夹中重名情况时,程序会给出是否覆盖提示.n+ttt程序问题发送到n);button=new JButton(Change);button1=new JButton(Check);button2=new JButton(Check);button.setFont(font2);button1.setFont(font2);button2.setFont(font2);panel1.setLayout(new GridLayout(3,1);panel1.add(panel3);panel1.add(panel4);panel1.add(panel5);panel3.add(label1);panel3.add(tf1);panel3.add(button1);panel4.add(label2);panel4.add(tf2);panel4.add(button2);panel5.add(label3);panel5.add(tf3);panel5.add(label4);panel5.add(tf4);panel5.add(button);frame.add(panel1,BorderLayout.NORTH);frame.setVisible(true);button.addActionListener(this);button1.addActionListener(this);button2.addActionListener(this);frame.addWindowListener(this);/* * TODO对按钮进行监听 * */public void actionPerformed(ActionEvent e)if(e.getSource()=button)flag_num=false;if(checkNum(tf3.getText()=true&checkNum(tf4.getText()width=(int) Double.parseDouble(tf3.getText();height=(int) Double.parseDouble(tf4.getText();flag_num=true;else flag_num=false;ta.append(XY填写格式不正确,请重新填写n);if(flag_in=true&flag_out=true&flag_num=true)ta.append(目标文件列表n);int cnt=0;for(int i=0;ifilelist.length;i+)if(filelisti!=wzw)File outtemp;try RenderedImage im=convert(width,height,ImageIO.read(filelisti);String outputFilename=副本+filelisti.getName();String format=outputFilename.substring(outputFilename.lastIndexOf(.)+1);outtemp=new File(fileout+outputFilename);/System.out.println(outputFilename);if(outtemp.exists()=true)int restartChoose=JOptionPane.showConfirmDialog(frame,有相同名称的文件,是否覆盖?,提示,JOptionPane.OK_CANCEL_OPTION);if(restartChoose=JOptionPane.OK_OPTION)ImageIO.write(im,format,outtemp);ta.append(outtemp.getAbsolutePath();ta.append(tt+Finished+n);cnt+;elsereturn;elseImageIO.write(im,format,outtemp);ta.append(outtemp.getAbsolutePath();ta.append(tt+Finished+n);cnt+;catch (IOException e2) e2.printStackTrace(); catch (Exception e1) e1.printStackTrace();ta.append(目标文件共+cnt+个n);else if(e.getSource()=button1)flag_in=false;filein=new File(tf1.getText();if(filein.exists()=true&filein.isDirectory()=true)ta.append(n源文件夹填写格式正确n);flag_in=true;filelist=filein.listFiles();for(int i=0;ifilelist.length;i+)if(filelisti.isFile()=false)filelisti=wzw;String ispic;for(int i=0;ifilelist.length;i+)if(filelisti!=wzw)String temp;temp=filelisti.getName();ispic=temp.substring(temp.lastIndexOf(.)+1);if(ispic.equals(jpg)=false)&(ispic.equals(bmp)=false)&(ispic.equals(gif)=false)&(ispic.equals(png)=false)&(ispic.equals(JPG)=false)&(ispic.equals(BMP)=false)&(ispic.equals(GIF)=false)&(ispic.equals(PNG)=false)filelisti=wzw;ta.append(源文件列表:n);int num=0;for(int i=0;ifilelist.length;i+)if(filelisti!=wzw)ta.append(filelisti+n);num+;ta.append(源文件共+num+个n);ta.append(n);elseta.append(n源文件夹不存在或者输入格式错误!n);flag_in=false;else if(e.getSource()=button2)flag_out=false;fileout=new File(tf2.getText();if(fileout.exists()=true&fileout.isDirectory()=true)ta.append(目标文件夹填写格式正确n);flag_out=true;else ta.append(n目标文件夹不存在或者输入格式错误!n);flag_out=false;public void windowClosing(WindowEvent e) System.exit(0); public static void main(String args) throws Exception try UIManager.setLookAndFeel(com.sun.java.swing.plaf.windows.WindowsLookAndFeel); catch(Exception e) new PicPro();/* * TODO图片缩放 * */public static BufferedImage convert(int width,int height,BufferedImage input)throws ExceptionBufferedImage output=new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);Image image=input.getScaledInstance(output.getWidth(),out

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论