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

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

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

    paulwong

    重定義圖片尺寸

    http://www.thebuzzmedia.com/downloads/software/imgscalr/javadoc/org/imgscalr/Scalr.html
    http://stackoverflow.com/questions/11618205/resize-image-to-fixed-size-add-border-if-needed
    http://www.thebuzzmedia.com/software/imgscalr-java-image-scaling-library/
    http://stackoverflow.com/questions/5837781/resize-image-to-fixed-size

    http://blog.codejava.net/nam/reduce-image-quality-without-resizing/


    package com.paul.image;

    import java.awt.image.BufferedImage;
    import java.io.ByteArrayInputStream;
    import java.io.ByteArrayOutputStream;
    import java.io.File;
    import java.io.IOException;
    import java.util.Iterator;

    import javax.imageio.IIOImage;
    import javax.imageio.ImageIO;
    import javax.imageio.ImageWriteParam;
    import javax.imageio.ImageWriter;
    import javax.imageio.stream.FileImageOutputStream;

    public class ImageFileSizeReducer {
        
        private static String srcPic = "E:/PAUL/WORK/WORDSPACES/WORKSPACE1/Test1/data/pic1.jpg";
        
        private static String destPic = "E:/PAUL/WORK/WORDSPACES/WORKSPACE1/Test1/data/pic3.jpg";

        public static void reduceImageQuality(int sizeThreshold, byte[] srcImg,
                String destPic) throws Exception {

            float quality = 1.0f;

            Iterator<ImageWriter> iter = ImageIO.getImageWritersByFormatName("jpeg");

            ImageWriter writer = (ImageWriter) iter.next();

            ImageWriteParam iwp = writer.getDefaultWriteParam();

            iwp.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);

            ByteArrayInputStream inputStream = new ByteArrayInputStream(srcImg);

            long fileSize = srcImg.length;

            BufferedImage originalImage = ImageIO.read(inputStream);
            IIOImage image = new IIOImage(originalImage, nullnull);

            float percent = 0.8f; // 10% of 1

            while (fileSize > sizeThreshold) {
                if (percent >= quality) {
                    percent = percent * 0.1f;
                }

                quality -= percent;
                iwp.setCompressionQuality(quality);

    //            ByteArrayOutputStream out = new ByteArrayOutputStream();
    //            ImageOutputStream imageos = ImageIO.createImageOutputStream(out);
                
                File file = new File(destPic);  
                FileImageOutputStream output = new FileImageOutputStream(file);  
                
                writer.setOutput(output);
                writer.write(null, image, iwp);
                output.close(); // or imageos.flush();

    //            destImg = output.length();

                long newFileSize = output.length();
                if (newFileSize == fileSize) {
    //                createNewPic(quality);
                    
    // cannot reduce more, return
                    break;
                } else {
                    fileSize = newFileSize;
                }
                System.out.println("quality = " + quality + ", new file size = "
                        + fileSize);

            }
            writer.dispose();


        }
        
        public static void main(String[] args) throws Exception {
            try {

                BufferedImage originalImage = ImageIO.read(new File(srcPic));

                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                ImageIO.write(originalImage, "jpg", baos);
                baos.flush();
                byte[] imageInByte = baos.toByteArray();
                baos.close();

                ImageFileSizeReducer.reduceImageQuality(20000,imageInByte,destPic);
            } catch (IOException e) {
                System.out.println(e.getMessage());
            }
        }

    }

    posted on 2013-03-26 16:46 paulwong 閱讀(365) 評論(0)  編輯  收藏 所屬分類: J2SE

    主站蜘蛛池模板: 成熟女人牲交片免费观看视频| 国产精品美女久久久免费| 精品免费视在线观看| 亚洲AV无码专区在线播放中文 | 亚洲国产情侣一区二区三区| 在线观看免费黄网站| 亚洲日韩激情无码一区| 久久国产精品萌白酱免费| 亚洲人成网站影音先锋播放| 在线毛片片免费观看| 亚洲成AV人片天堂网无码| 一区二区三区四区免费视频| 亚洲综合国产精品| 日本免费网站在线观看| 免费国产黄网站在线看| 日本亚洲视频在线 | 99久久国产精品免费一区二区| 91制片厂制作传媒免费版樱花| 好男人看视频免费2019中文| 亚洲人成电影网站免费| 亚洲一区二区三区偷拍女厕| 久久精品国产大片免费观看| 亚洲喷奶水中文字幕电影| 日韩一品在线播放视频一品免费| 亚洲一区综合在线播放| 国产一卡二卡3卡四卡免费| 久久精品国产亚洲av天美18 | 久久青青草原亚洲av无码| 免费无码av片在线观看| 内射少妇36P亚洲区| 夭天干天天做天天免费看| 亚洲视频在线免费| 337p欧洲亚洲大胆艺术| 午夜视频免费观看| a级毛片视频免费观看| 亚洲精品国产日韩| 国产啪亚洲国产精品无码| 91精品免费国产高清在线| 污污视频免费观看网站| 亚洲精品在线播放| 亚洲精品天堂成人片?V在线播放|