<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 閱讀(358) 評論(0)  編輯  收藏 所屬分類: J2SE

    主站蜘蛛池模板: 中文成人久久久久影院免费观看| 91亚洲精品视频| 又硬又粗又长又爽免费看 | 免费看一级高潮毛片| 国内外成人免费视频| 亚洲人成网站在线在线观看| 四色在线精品免费观看| 亚洲精品无码成人| 国产精品国产自线拍免费软件| 亚洲色欲啪啪久久WWW综合网| 国产啪精品视频网免费| 亚洲人成网站18禁止| 国产zzjjzzjj视频全免费 | 亚洲国产成人精品女人久久久 | 亚洲精品一二三区| 国产成人精品高清免费| 日本一区二区三区在线视频观看免费 | 久久精品免费视频观看| 亚洲欧洲日产韩国在线| 成人毛片免费观看视频大全| 久久精品国产亚洲AV电影网| 亚洲国产婷婷香蕉久久久久久| 一级成人a免费视频| 亚洲国产精品久久久久| 久久久久久免费视频| 精品亚洲福利一区二区| 亚洲区小说区图片区QVOD| 1000部啪啪未满十八勿入免费| 亚洲熟妇无码av另类vr影视 | 亚洲av鲁丝一区二区三区| 免费人成网站在线观看10分钟| 亚洲AV无码一区二区一二区| 亚洲天堂在线视频| 1000部羞羞禁止免费观看视频 | 免费无码一区二区三区蜜桃 | 亚洲精品免费视频| 亚洲精品无码专区在线| 亚洲精品成人片在线观看精品字幕| 国产精品怡红院永久免费| 日本黄页网址在线看免费不卡| 亚洲欧洲日韩不卡|