<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();
                    }
                }
                
    // 計算新的圖面寬度和高度
                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)航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     
    主站蜘蛛池模板: 国产日韩一区二区三免费高清| 亚洲熟妇AV日韩熟妇在线| 蜜臀AV免费一区二区三区| 巨波霸乳在线永久免费视频 | 国产综合激情在线亚洲第一页| 可以免费看黄视频的网站| 91亚洲性爱在线视频| 五月婷婷免费视频| 亚洲一区二区免费视频| 亚洲午夜激情视频| www.xxxx.com日本免费| 成年人免费网站在线观看| 中文字幕无码精品亚洲资源网久久| 在线观看av永久免费| 337p日本欧洲亚洲大胆人人| 国产免费私拍一区二区三区| 暖暖免费中文在线日本| 国产gv天堂亚洲国产gv刚刚碰| 国产在线播放线91免费 | 亚洲乱码一区av春药高潮| 91成人免费在线视频| 亚洲乱妇熟女爽到高潮的片| 99久9在线|免费| 国产亚洲A∨片在线观看| 黄色网址在线免费| 一本色道久久88亚洲综合| 2017亚洲男人天堂一| 国产精品成人四虎免费视频| 日韩在线视频播放免费视频完整版 | 国内外成人免费视频| 久久亚洲国产成人精品性色| h视频在线观看免费完整版| 亚洲熟女www一区二区三区| 午夜亚洲av永久无码精品| 中国一级特黄高清免费的大片中国一级黄色片 | 最近中文字幕mv免费高清在线| 国产亚洲av片在线观看16女人 | 亚洲一本到无码av中文字幕| 亚洲AV无码乱码在线观看性色扶 | 国产99精品一区二区三区免费| 久久久久久亚洲av成人无码国产|