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

    主站蜘蛛池模板: 亚洲AV无码1区2区久久| 免费精品国产自产拍观看| 综合自拍亚洲综合图不卡区| 免费一级毛片在线播放视频| 亚洲国语精品自产拍在线观看 | 亚洲中文字幕无码久久综合网| 一级女人18片毛片免费视频| 好看的电影网站亚洲一区| 一级毛片免费毛片一级毛片免费 | 国产又粗又猛又爽又黄的免费视频| 国产AV无码专区亚洲AV蜜芽 | 亚洲一区AV无码少妇电影☆| 好湿好大好紧好爽免费视频| 亚洲国产成人片在线观看| 99国产精品视频免费观看| 亚洲色成人网一二三区| 一本无码人妻在中文字幕免费| 亚洲a级成人片在线观看| 国产在线观看免费观看不卡| WWW亚洲色大成网络.COM| 亚洲中文久久精品无码| 精品无码免费专区毛片| 黄色网址大全免费| 久久亚洲国产成人亚| 女人18毛片a级毛片免费视频| 一级成人生活片免费看| 亚洲色图激情文学| 国产亚洲欧洲Aⅴ综合一区| 麻豆视频免费播放| 成人免费网站视频www| 老汉色老汉首页a亚洲| 成人A级毛片免费观看AV网站| 日韩电影免费在线观看网站| 亚洲国产成人无码AV在线影院| 亚洲第一页在线视频| 亚洲va无码手机在线电影| 亚洲成a人一区二区三区| 最近2019中文字幕免费看最新| 57pao一国产成永久免费| 久久精品免费网站网| 免费看一级一级人妻片|