CutImagUtil.java 圖片截取

來源:互聯網
上載者:User
import com.sun.image.codec.jpeg.JPEGCodec;import com.sun.image.codec.jpeg.JPEGImageEncoder;import java.applet.Applet;import java.awt.Color;import java.awt.Graphics;import java.awt.Image;import java.awt.MediaTracker;import java.awt.Toolkit;import java.awt.image.BufferedImage;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.PrintStream;public class CutImagUtil {String InputDir;String OutputDir;String InputFileName;String OutputFileName;int OutputWidth = 80;int OutputHeight = 80;int rate = 0;boolean proportion = true;public CutImagUtil() {this.InputDir = " ";this.OutputDir = " ";this.InputFileName = " ";this.OutputFileName = " ";this.OutputWidth = 80;this.OutputHeight = 80;this.rate = 0;}public void setInputDir(String InputDir) {this.InputDir = InputDir;}public void setOutputDir(String OutputDir) {this.OutputDir = OutputDir;}public void setInputFileName(String InputFileName) {this.InputFileName = InputFileName;}public void setOutputFileName(String OutputFileName) {this.OutputFileName = OutputFileName;}public void setOutputWidth(int OutputWidth) {this.OutputWidth = OutputWidth;}public void setOutputHeight(int OutputHeight) {this.OutputHeight = OutputHeight;}public void setW_H(int width, int height) {this.OutputWidth = width;this.OutputHeight = height;}public String s_pic() {File file = new File(this.OutputDir + this.OutputFileName);FileOutputStream tempout = null;try {tempout = new FileOutputStream(file);} catch (Exception ex) {System.out.println(ex.toString());}Image img = null;Toolkit tk = Toolkit.getDefaultToolkit();Applet app = new Applet();MediaTracker mt = new MediaTracker(app);try {img = tk.getImage(this.InputDir + this.InputFileName);mt.addImage(img, 0);mt.waitForID(0);} catch (Exception e) {e.printStackTrace();}if (img.getWidth(null) == -1) {System.out.println("       can 't   read,retry!  <BR> ");return "no ";}int new_w;int new_h;if (this.proportion) {double rate1 = img.getWidth(null) / this.OutputWidth + 0.1D;double rate2 = img.getHeight(null) / this.OutputHeight + 0.1D;double rate = (rate1 > rate2) ? rate1 : rate2;new_w = (int) (img.getWidth(null) / rate);new_h = (int) (img.getHeight(null) / rate);} else {new_w = this.OutputWidth;new_h = this.OutputHeight;}BufferedImage buffImg = new BufferedImage(new_w, new_h, 1);Graphics g = buffImg.createGraphics();g.setColor(Color.white);g.fillRect(0, 0, new_w, new_h);g.drawImage(img, 0, 0, new_w, new_h, null);g.dispose();JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(tempout);try {encoder.encode(buffImg);tempout.close();} catch (IOException ex) {System.out.println(ex.toString());}return "ok";}public String s_pic(String InputDir, String OutputDir, String InputFileName, String OutputFileName) {this.InputDir = InputDir;this.OutputDir = OutputDir;this.InputFileName = InputFileName;this.OutputFileName = OutputFileName;return s_pic();}public String s_pic(String InputDir, String OutputDir, String InputFileName, String OutputFileName, int width,int height, boolean gp) {this.InputDir = InputDir;this.OutputDir = OutputDir;this.InputFileName = InputFileName;this.OutputFileName = OutputFileName;setW_H(width, height);this.proportion = gp;return s_pic();}public static void main(String[] args) {CutImagUtil test = new CutImagUtil();test.s_pic("d:\\", "d:\\", "QQ20130510143700.jpg", "123123.jpg", 500, 500, false);File file = new File("d:\\123123.jpg");file.delete();}}

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.