<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++博客   博問  
     
    主站蜘蛛池模板: 永久免费无码网站在线观看| 亚洲色无码专区一区| 免费黄色一级毛片| 久久香蕉国产线看免费| 在线亚洲v日韩v| 亚洲人成77777在线播放网站不卡| 亚洲色婷婷综合久久| 国产日产成人免费视频在线观看 | 夜夜嘿视频免费看| 8888四色奇米在线观看免费看| 日本高清免费中文在线看| 国产亚洲精品影视在线| 综合自拍亚洲综合图不卡区| 国产亚洲人成无码网在线观看 | 亚洲高清乱码午夜电影网| 亚洲欧洲日产韩国在线| 亚洲2022国产成人精品无码区| 亚洲精品乱码久久久久久蜜桃 | 亚洲an天堂an在线观看| 亚洲日本va在线视频观看| 亚洲av麻豆aⅴ无码电影| 青青草国产免费久久久91| 中文字幕乱码免费视频| 蜜桃AV无码免费看永久| 久久免费观看国产精品88av| 日本道免费精品一区二区| 国产成人精品免费大全| 在线播放国产不卡免费视频| 男女交性无遮挡免费视频| 老司机午夜性生免费福利| 免费无码专区毛片高潮喷水| 妇女自拍偷自拍亚洲精品| 色偷偷亚洲第一综合网| 亚洲精品久久无码| 亚洲欧美综合精品成人导航| 亚洲性色AV日韩在线观看| 亚洲第一成年免费网站| 亚洲AV无码国产精品永久一区| 亚洲高清国产拍精品熟女| 国产精品亚洲а∨天堂2021| 羞羞网站在线免费观看|