<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)航:
     
    主站蜘蛛池模板: 亚洲第一区视频在线观看| 亚洲免费视频在线观看| 91亚洲视频在线观看| 亚洲综合色区在线观看| 亚洲人成电影网站免费| 久久久久亚洲精品无码系列| 亚洲 自拍 另类小说综合图区| 思思久久99热免费精品6| 亚洲精品国产高清不卡在线| 人人揉揉香蕉大免费不卡| 99久久精品国产亚洲| 国产亚洲精品不卡在线| 在线看免费观看AV深夜影院 | 在线视频精品免费| 日本免费高清视频| 国产成人自产拍免费视频| 精品在线免费视频| 免费人成网站在线高清| 国产色爽免费无码视频| 久青草国产免费观看| 老司机午夜免费视频| 亚洲精品久久久久无码AV片软件| 91亚洲国产成人久久精品网址| 亚洲午夜未满十八勿入| 国产精品免费看香蕉| 日韩成人免费视频| 中文字幕视频在线免费观看| a高清免费毛片久久| 一级日本高清视频免费观看| 免费无码婬片aaa直播表情| 国产亚洲综合精品一区二区三区| 亚洲AV性色在线观看| 亚洲av永久无码一区二区三区| 亚洲AV成人无码网天堂| 亚洲va中文字幕| 国产青草亚洲香蕉精品久久| 香港经典a毛片免费观看看| 全黄A免费一级毛片| 一级视频在线免费观看| 国产在线国偷精品免费看| 成人无码精品1区2区3区免费看|