<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 495,comments - 227,trackbacks - 0

    縮略圖實現(xiàn),將圖片(jpg,gif,bmp等等)真實的變成想要的大小
    import java.io.*;
    import java.util.*;
    import com.sun.image.codec.jpeg.*;
    import java.awt.image.*;
    import java.awt.*;
    import java.net.*;
    import java.applet.*;
    import java.sql.*;
    //縮略圖類,
    //本java類能將jpg圖片文件,進(jìn)行等比或非等比的大小轉(zhuǎn)換。
    //具體使用方法
    //s_pic(大圖片路徑,生成小圖片路徑,大圖片文件名,生成小圖片文名,生成小圖片寬度,生成小圖片高度,是否等比縮放(默認(rèn)為true))
    public class Small_pic{
    String InputDir; //輸入圖路徑
    String OutputDir; //輸出圖路徑
    String InputFileName; //輸入圖文件名
    String OutputFileName; //輸出圖文件名
    int OutputWidth=80; //默認(rèn)輸出圖片寬
    int OutputHeight=80; //默認(rèn)輸出圖片高
    int rate=0;
    boolean proportion=true; //是否等比縮放標(biāo)記(默認(rèn)為等比縮放)

    public Small_pic(){
    //初始化變量
    InputDir="";
    OutputDir="";
    InputFileName="";
    OutputFileName="";
    OutputWidth=80;
    OutputHeight=80;
    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(){
    BufferedImage image;
    String NewFileName;
    //建立輸出文件對象
    File file = new File(OutputDir+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(InputDir+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";
    }else{
    int new_w;
    int new_h;
    if (this.proportion==true) //判斷是否是等比縮放.
    {
    //為等比縮放計算輸出的圖片寬度及高度
    double rate1=((double)img.getWidth(null))/(double)OutputWidth+0.1;
    double rate2=((double)img.getHeight(null))/(double)OutputHeight+0.1;
    double rate=rate1>rate2?rate1:rate2;
    new_w=(int)(((double)img.getWidth(null))/rate);
    new_h=(int)(((double)img.getHeight(null))/rate);
    }
    else{
    new_w=OutputWidth; //輸出的圖片寬度
    new_h=OutputHeight; //輸出的圖片高度
    }
    BufferedImage buffImg = new BufferedImage(new_w,new_h,BufferedImage.TYPE_INT_RGB);

    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
    //設(shè)置圖片長寬
    setW_H(width,height);
    //是否是等比縮放 標(biāo)記
    this.proportion=gp;
    return s_pic();
    }
    public static void main(String [] a)
    {
    //s_pic(大圖片路徑,生成小圖片路徑,大圖片文件名,生成小圖片文名,生成小圖片寬度,生成小圖片高度)
    Small_pic mypic =new Small_pic();
    System.out.println(
    mypic.s_pic("E:\\JAVA\\J2EEDatum\\王亮jsp資料\\縮圖例子\\personal\\",
    "E:\\JAVA\\J2EEDatum\\酒劍仙jsp資料\\縮圖例子\\personal\\",
    "1.jpg","new1.jpg",80,80,true)
    );
    }


    posted on 2006-07-06 17:36 SIMONE 閱讀(362) 評論(0)  編輯  收藏 所屬分類: JAVAJSP
    主站蜘蛛池模板: 亚洲∧v久久久无码精品| 亚洲欧洲日产国码久在线观看| 成人在线免费观看| 国产精品免费看香蕉| 亚洲无人区午夜福利码高清完整版 | 亚洲精品福利你懂| 一个人免费观看视频在线中文| 久久久久久成人毛片免费看| 成人在线视频免费| 亚洲乱码日产精品一二三| 手机看片国产免费永久| 24小时日本在线www免费的| 亚洲国产精品高清久久久| 在线播放亚洲精品| 国产成人免费在线| 一个人免费观看www视频在线| 国产成人亚洲精品91专区手机| 国产成人精品日本亚洲专| 美女视频黄免费亚洲| 久久夜色精品国产噜噜亚洲AV| 一进一出60分钟免费视频| 国产AⅤ无码专区亚洲AV| 亚洲av中文无码字幕色不卡 | 久久亚洲精品成人无码| 69av免费视频| 亚洲色少妇熟女11p| 最近最新MV在线观看免费高清| 亚洲午夜精品一区二区麻豆| 四虎免费影院4hu永久免费| 亚洲AV无码专区在线亚| 中文字幕免费在线观看| 亚洲AV无码精品色午夜在线观看 | 国产成人无码免费网站| 国产在线ts人妖免费视频| 乱淫片免费影院观看| 国产精品免费视频网站| 西西人体免费视频| 亚洲国产精品综合久久20| 亚洲精品WWW久久久久久| 特黄aa级毛片免费视频播放| 日韩免费视频网站|