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

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

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

    kalman03

    每天早上看一遍《福布斯》富翁排行榜,如果上面沒有我的名字,我就去學(xué)習(xí)......
    隨筆 - 22, 文章 - 0, 評論 - 86, 引用 - 0
    數(shù)據(jù)加載中……

    (轉(zhuǎn))圖片等比壓縮,確保不失真


    import java.awt.Image;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.FileOutputStream;

    import javax.imageio.ImageIO;

    import com.sun.image.codec.jpeg.JPEGCodec;
    import com.sun.image.codec.jpeg.JPEGImageEncoder;

    public class Snippet {
        
    /**
         * 創(chuàng)建圖片縮略圖(等比縮放)
         * 
         * 
    @param src
         *            源圖片文件完整路徑
         * 
    @param dist
         *            目標(biāo)圖片文件完整路徑
         * 
    @param width
         *            縮放的寬度
         * 
    @param height
         *            縮放的高度
         
    */
        
    public static void createThumbnail(String src, String dist, float width,
                
    float height) {
            
    try {
                File srcfile 
    = new File(src);
                
    if (!srcfile.exists()) {
                    System.out.println(
    "文件不存在");
                    
    return;
                }
                BufferedImage image 
    = ImageIO.read(srcfile);

                
    // 獲得縮放的比例
                double ratio = 1.0;
                
    // 判斷如果高、寬都不大于設(shè)定值,則不處理
                if (image.getHeight() > height || image.getWidth() > width) {
                    
    if (image.getHeight() > image.getWidth()) {
                        ratio 
    = height / image.getHeight();
                    } 
    else {
                        ratio 
    = width / image.getWidth();
                    }
                }
                
    // 計(jì)算新的圖面寬度和高度
                int newWidth = (int) (image.getWidth() * ratio);
                
    int newHeight = (int) (image.getHeight() * ratio);

                BufferedImage bfImage 
    = new BufferedImage(newWidth, newHeight,
                        BufferedImage.TYPE_INT_RGB);
                bfImage.getGraphics().drawImage(
                        image.getScaledInstance(newWidth, newHeight,
                                Image.SCALE_SMOOTH), 
    00null);

                FileOutputStream os 
    = new FileOutputStream(dist);
                JPEGImageEncoder encoder 
    = JPEGCodec.createJPEGEncoder(os);
                encoder.encode(bfImage);
                os.close();
                System.out.println(
    "創(chuàng)建縮略圖成功");
            } 
    catch (Exception e) {
                System.out.println(
    "創(chuàng)建縮略圖發(fā)生異常" + e.getMessage());
            }
        }
        
        
    public static void main(String[] args) {
            createThumbnail(
    "E:\\test_1920x1200.jpg""D:\\a.png"100100);
            createThumbnail(
    "E:\\test_1920x1200.jpg""D:\\b.png"20002000);
            createThumbnail(
    "E:\\test_1920x1200.jpg""D:\\c.jpg"800600);
        }

    }

    posted on 2012-01-11 15:43 kalman03 閱讀(7138) 評論(1)  編輯  收藏

    評論

    # re: (轉(zhuǎn))圖片等比壓縮,確保不失真  回復(fù)  更多評論   

    很失真
    2015-10-22 11:07 | 小大人

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲情综合五月天| 精品亚洲456在线播放| 18禁止看的免费污网站 | 亚洲国产日产无码精品| 在线精品免费视频| 最新亚洲成av人免费看| 亚洲国产成人精品激情| 亚洲精品国产va在线观看蜜芽| 久久亚洲免费视频| 亚洲成av人片天堂网无码】| 国产精品亚洲综合一区| 久久国产免费福利永久| 日韩在线观看免费| 亚洲天堂男人影院| 亚洲AV无码专区电影在线观看| 成年女人毛片免费观看97| 黄色免费在线网站| 亚洲av成人片在线观看| 99久久亚洲综合精品成人网| 亚洲av无码国产精品色在线看不卡| 99re6免费视频| 一个人看的免费观看日本视频www 一个人看的免费视频www在线高清动漫 | 一级毛片免费播放视频| 亚洲伊人久久大香线蕉啊| 久久久久亚洲精品天堂久久久久久 | 亚洲中文字幕在线无码一区二区| 亚洲一级特黄大片无码毛片| 一级女人18毛片免费| 国产成人无码区免费网站| 国产成人亚洲综合无| 亚洲视频一区二区三区四区| 亚洲国产精品国自产拍AV| 亚洲国产午夜福利在线播放| 天天看免费高清影视| 最好看最新的中文字幕免费 | 国产人成免费视频网站| 你懂的在线免费观看| 免费一级全黄少妇性色生活片| 亚洲一区二区三区精品视频| 亚洲产国偷V产偷V自拍色戒| 亚洲男人的天堂一区二区|