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

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

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

    隨筆-60  評(píng)論-35  文章-15  trackbacks-0
    import ?java.io. * ;
    import ?java.awt. * ;
    import ?java.awt.image. * ;
    import ?com.sun.image.codec.jpeg. * ;
    /**
    ?*
    ?*?<p>Title:?Thumbnail</p>
    ?*
    ?*?<p>Description:?Picture?Thumbnail</p>
    ?*
    ?*?<p>Copyright:?Copyright?(c)?54powerman@163.com?2005</p>
    ?*
    ?*?<p>Company:?
    http://blog.sina.com.cn/u1055000490 </p>
    ?*
    ?*?
    @author ?54powerman
    ?*?
    @version ?1.0
    ?
    */

    public ? class ?Thumbnail? {
    ??
    private ?String?srcFile;
    ??
    private ?String?destFile;
    ??
    private ? int ?width;
    ??
    private ? int ?height;
    ??
    private ?Image?img;
    ??
    public ? static ? void ?main(String[]?args)? throws ?Exception? {
    ????Thumbnail?thum?
    = ? new ?Thumbnail( " Winter.png " );
    ????thum.resizeFix(
    500 ,? 300 );
    ??}

    ??
    /**
    ???*?構(gòu)造函數(shù)
    ???*?
    @param ?fileName?String
    ???*?
    @throws ?IOException
    ???
    */

    ??
    public ?Thumbnail(String?fileName)? throws ?IOException? {
    ????File?_file?
    = ? new ?File(fileName);? // 讀入文件
    ???? this .srcFile? = ?_file.getName();
    ????
    this .destFile? = ? this .srcFile.substring( 0 ,? this .srcFile.lastIndexOf( " . " ))? +
    ????????
    " _s.jpg " ;
    ????img?
    = ?javax.imageio.ImageIO.read(_file);? // 構(gòu)造Image對(duì)象
    ????width? = ?img.getWidth( null );? // 得到源圖寬
    ????height? = ?img.getHeight( null );? // 得到源圖長(zhǎng)
    ??}

    ??
    /**
    ???*?強(qiáng)制壓縮/放大圖片到固定的大小
    ???*?
    @param ?w?int?新寬度
    ???*?
    @param ?h?int?新高度
    ???*?
    @throws ?IOException
    ???
    */

    ??
    public ? void ?resize( int ?w,? int ?h)? throws ?IOException? {
    ????BufferedImage?_image?
    = ? new ?BufferedImage(w,?h,
    ?????????????????????????????????????????????BufferedImage.TYPE_INT_RGB);
    ????_image.getGraphics().drawImage(img,?
    0 ,? 0 ,?w,?h,? null );? // 繪制縮小后的圖
    ????FileOutputStream?out? = ? new ?FileOutputStream(destFile);? // 輸出到文件流
    ????JPEGImageEncoder?encoder? = ?JPEGCodec.createJPEGEncoder(out);
    ????encoder.encode(_image);?
    // 近JPEG編碼
    ????out.close();
    ??}

    ??
    /**
    ???*?按照固定的比例縮放圖片
    ???*?
    @param ?t?double?比例
    ???*?
    @throws ?IOException
    ???
    */

    ??
    public ? void ?resize( double ?t)? throws ?IOException? {
    ????
    int ?w? = ?( int )?(width? * ?t);
    ????
    int ?h? = ?( int )?(height? * ?t);
    ????resize(w,?h);
    ??}

    ??
    /**
    ???*?以寬度為基準(zhǔn),等比例放縮圖片
    ???*?
    @param ?w?int?新寬度
    ???*?
    @throws ?IOException
    ???
    */

    ??
    public ? void ?resizeByWidth( int ?w)? throws ?IOException? {
    ????
    int ?h? = ?( int )?(height? * ?w? / ?width);
    ????resize(w,?h);
    ??}

    ??
    /**
    ???*?以高度為基準(zhǔn),等比例縮放圖片
    ???*?
    @param ?h?int?新高度
    ???*?
    @throws ?IOException
    ???
    */

    ??
    public ? void ?resizeByHeight( int ?h)? throws ?IOException? {
    ????
    int ?w? = ?( int )?(width? * ?h? / ?height);
    ????resize(w,?h);
    ??}

    ??
    /**
    ???*?按照最大高度限制,生成最大的等比例縮略圖
    ???*?
    @param ?w?int?最大寬度
    ???*?
    @param ?h?int?最大高度
    ???*?
    @throws ?IOException
    ???
    */

    ??
    public ? void ?resizeFix( int ?w,? int ?h)? throws ?IOException? {
    ????
    if ?(width? / ?height? > ?w? / ?h)? {
    ??????resizeByWidth(w);
    ????}

    ????
    else ? {
    ??????resizeByHeight(h);
    ????}

    ??}

    ??
    /**
    ???*?設(shè)置目標(biāo)文件名
    ???*?setDestFile
    ???*?
    @param ?fileName?String?文件名字符串
    ???
    */

    ??
    public ? void ?setDestFile(String?fileName)? throws ?Exception? {
    ????
    if ?( ! fileName.endsWith( " .jpg " ))? {
    ??????
    throw ? new ?Exception( " Dest?File?Must?end?with?\ " .jpg\ " . " );
    ????}

    ????destFile?
    = ?fileName;
    ??}

    ??
    /**
    ???*?獲取目標(biāo)文件名
    ???*?getDestFile
    ???
    */

    ??
    public ?String?getDestFile()? {
    ????
    return ?destFile;
    ??}

    ??
    /**
    ???*?獲取圖片原始寬度
    ???*?getSrcWidth
    ???
    */

    ??
    public ? int ?getSrcWidth()? {
    ????
    return ?width;
    ??}

    ??
    /**
    ???*?獲取圖片原始高度
    ???*?getSrcHeight
    ???
    */

    ??
    public ? int ?getSrcHeight()? {
    ????
    return ?height;
    ??}

    }
    posted on 2006-04-04 17:06 Q系列類、方法、變量…… 閱讀(1583) 評(píng)論(1)  編輯  收藏 所屬分類: 網(wǎng)上工具代碼

    評(píng)論:
    # re: Java縮略圖類 2008-07-21 22:43 | kangwei
    謝謝!我還沒(méi)有運(yùn)行  回復(fù)  更多評(píng)論
      
    主站蜘蛛池模板: 亚洲精品无码人妻无码| 久久亚洲国产最新网站| 亚洲天堂在线播放| 亚洲国产视频网站| 亚洲国产av玩弄放荡人妇| 国产亚洲漂亮白嫩美女在线| 一级毛片在线播放免费| 久久精品成人免费网站| 亚洲黄色免费电影| 日韩免费视频网站| 亚洲日韩aⅴ在线视频| 亚洲色欲www综合网| 亚洲风情亚Aⅴ在线发布| 一边摸一边桶一边脱免费视频 | 亚洲AV色欲色欲WWW| 拍拍拍无挡视频免费观看1000| 亚洲一区在线免费观看| 国产zzjjzzjj视频全免费| 国产亚洲A∨片在线观看| 亚洲中文久久精品无码1| 黄人成a动漫片免费网站| 色猫咪免费人成网站在线观看 | 亚欧免费视频一区二区三区| 日韩精品视频免费观看| 亚洲国产一成人久久精品| 亚洲中文字幕日本无线码| 国产精品福利在线观看免费不卡| 2021在线观看视频精品免费| 免费一级成人毛片| 亚洲综合激情视频| 成a人片亚洲日本久久| 99久9在线|免费| 亚洲成a人片在线观看日本麻豆| 久久亚洲AV成人无码国产| 国产亚洲视频在线播放大全| 免费无码VA一区二区三区| 免费人成网站在线高清| 亚洲国产日韩女人aaaaaa毛片在线| 九九全国免费视频| 国产精品无码免费播放| 久久精品亚洲综合|