亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? jpegencoder.java

?? java servlet著名論壇源代碼
?? JAVA
?? 第 1 頁 / 共 4 頁
字號:
    /**
     * DCT Block Size - default 8
     */
    public int N        = 8;

    /**
     * Image Quality (0-100) - default 80 (good image / good compression)
     */
    public int QUALITY = 80;

    public int quantum[][] = new int[2][];
    public double Divisors[][] = new double[2][];

    /**
     * Quantitization Matrix for luminace.
     */
    public int quantum_luminance[]     = new int[N*N];
    public double DivisorsLuminance[] = new double[N*N];

    /**
     * Quantitization Matrix for chrominance.
     */
    public int quantum_chrominance[]     = new int[N*N];
    public double DivisorsChrominance[] = new double[N*N];

    /**
     * Constructs a new DCT object. Initializes the cosine transform matrix
     * these are used when computing the DCT and it's inverse. This also
     * initializes the run length counters and the ZigZag sequence. Note that
     * the image quality can be worse than 25 however the image will be
     * extemely pixelated, usually to a block size of N.
     *
     * @param QUALITY The quality of the image (0 worst - 100 best)
     *
     */
    public DCT(int QUALITY)
    {
        initMatrix(QUALITY);
    }


    /*
     * This method sets up the quantization matrix for luminance and
     * chrominance using the Quality parameter.
     */
    private void initMatrix(int quality)
    {
        double[] AANscaleFactor = { 1.0, 1.387039845, 1.306562965, 1.175875602,
                                    1.0, 0.785694958, 0.541196100, 0.275899379};
        int i;
        int j;
        int index;
        int Quality;
        int temp;

// converting quality setting to that specified in the jpeg_quality_scaling
// method in the IJG Jpeg-6a C libraries

        Quality = quality;
        if (Quality <= 0)
                Quality = 1;
        if (Quality > 100)
                Quality = 100;
        if (Quality < 50)
                Quality = 5000 / Quality;
        else
                Quality = 200 - Quality * 2;

// Creating the luminance matrix

        quantum_luminance[0]=16;
        quantum_luminance[1]=11;
        quantum_luminance[2]=10;
        quantum_luminance[3]=16;
        quantum_luminance[4]=24;
        quantum_luminance[5]=40;
        quantum_luminance[6]=51;
        quantum_luminance[7]=61;
        quantum_luminance[8]=12;
        quantum_luminance[9]=12;
        quantum_luminance[10]=14;
        quantum_luminance[11]=19;
        quantum_luminance[12]=26;
        quantum_luminance[13]=58;
        quantum_luminance[14]=60;
        quantum_luminance[15]=55;
        quantum_luminance[16]=14;
        quantum_luminance[17]=13;
        quantum_luminance[18]=16;
        quantum_luminance[19]=24;
        quantum_luminance[20]=40;
        quantum_luminance[21]=57;
        quantum_luminance[22]=69;
        quantum_luminance[23]=56;
        quantum_luminance[24]=14;
        quantum_luminance[25]=17;
        quantum_luminance[26]=22;
        quantum_luminance[27]=29;
        quantum_luminance[28]=51;
        quantum_luminance[29]=87;
        quantum_luminance[30]=80;
        quantum_luminance[31]=62;
        quantum_luminance[32]=18;
        quantum_luminance[33]=22;
        quantum_luminance[34]=37;
        quantum_luminance[35]=56;
        quantum_luminance[36]=68;
        quantum_luminance[37]=109;
        quantum_luminance[38]=103;
        quantum_luminance[39]=77;
        quantum_luminance[40]=24;
        quantum_luminance[41]=35;
        quantum_luminance[42]=55;
        quantum_luminance[43]=64;
        quantum_luminance[44]=81;
        quantum_luminance[45]=104;
        quantum_luminance[46]=113;
        quantum_luminance[47]=92;
        quantum_luminance[48]=49;
        quantum_luminance[49]=64;
        quantum_luminance[50]=78;
        quantum_luminance[51]=87;
        quantum_luminance[52]=103;
        quantum_luminance[53]=121;
        quantum_luminance[54]=120;
        quantum_luminance[55]=101;
        quantum_luminance[56]=72;
        quantum_luminance[57]=92;
        quantum_luminance[58]=95;
        quantum_luminance[59]=98;
        quantum_luminance[60]=112;
        quantum_luminance[61]=100;
        quantum_luminance[62]=103;
        quantum_luminance[63]=99;

        for (j = 0; j < 64; j++)
        {
                temp = (quantum_luminance[j] * Quality + 50) / 100;
                if ( temp <= 0) temp = 1;
                if (temp > 255) temp = 255;
                quantum_luminance[j] = temp;
        }
        index = 0;
        for (i = 0; i < 8; i++) {
                for (j = 0; j < 8; j++) {
// The divisors for the LL&M method (the slow integer method used in
// jpeg 6a library).  This method is currently (04/04/98) incompletely
// implemented.
//                        DivisorsLuminance[index] = ((double) quantum_luminance[index]) << 3;
// The divisors for the AAN method (the float method used in jpeg 6a library.
                        DivisorsLuminance[index] = 1d/(8d * quantum_luminance[index] * AANscaleFactor[i] * AANscaleFactor[j]);
                        index++;
                }
        }


// Creating the chrominance matrix

        quantum_chrominance[0]=17;
        quantum_chrominance[1]=18;
        quantum_chrominance[2]=24;
        quantum_chrominance[3]=47;
        quantum_chrominance[4]=99;
        quantum_chrominance[5]=99;
        quantum_chrominance[6]=99;
        quantum_chrominance[7]=99;
        quantum_chrominance[8]=18;
        quantum_chrominance[9]=21;
        quantum_chrominance[10]=26;
        quantum_chrominance[11]=66;
        quantum_chrominance[12]=99;
        quantum_chrominance[13]=99;
        quantum_chrominance[14]=99;
        quantum_chrominance[15]=99;
        quantum_chrominance[16]=24;
        quantum_chrominance[17]=26;
        quantum_chrominance[18]=56;
        quantum_chrominance[19]=99;
        quantum_chrominance[20]=99;
        quantum_chrominance[21]=99;
        quantum_chrominance[22]=99;
        quantum_chrominance[23]=99;
        quantum_chrominance[24]=47;
        quantum_chrominance[25]=66;
        quantum_chrominance[26]=99;
        quantum_chrominance[27]=99;
        quantum_chrominance[28]=99;
        quantum_chrominance[29]=99;
        quantum_chrominance[30]=99;
        quantum_chrominance[31]=99;
        quantum_chrominance[32]=99;
        quantum_chrominance[33]=99;
        quantum_chrominance[34]=99;
        quantum_chrominance[35]=99;
        quantum_chrominance[36]=99;
        quantum_chrominance[37]=99;
        quantum_chrominance[38]=99;
        quantum_chrominance[39]=99;
        quantum_chrominance[40]=99;
        quantum_chrominance[41]=99;
        quantum_chrominance[42]=99;
        quantum_chrominance[43]=99;
        quantum_chrominance[44]=99;
        quantum_chrominance[45]=99;
        quantum_chrominance[46]=99;
        quantum_chrominance[47]=99;
        quantum_chrominance[48]=99;
        quantum_chrominance[49]=99;
        quantum_chrominance[50]=99;
        quantum_chrominance[51]=99;
        quantum_chrominance[52]=99;
        quantum_chrominance[53]=99;
        quantum_chrominance[54]=99;
        quantum_chrominance[55]=99;
        quantum_chrominance[56]=99;
        quantum_chrominance[57]=99;
        quantum_chrominance[58]=99;
        quantum_chrominance[59]=99;
        quantum_chrominance[60]=99;
        quantum_chrominance[61]=99;
        quantum_chrominance[62]=99;
        quantum_chrominance[63]=99;

        for (j = 0; j < 64; j++)
        {
                temp = (quantum_chrominance[j] * Quality + 50) / 100;
                if ( temp <= 0) temp = 1;
                if (temp >= 255) temp = 255;
                quantum_chrominance[j] = temp;
        }
        index = 0;
        for (i = 0; i < 8; i++) {
                for (j = 0; j < 8; j++) {
// The divisors for the LL&M method (the slow integer method used in
// jpeg 6a library).  This method is currently (04/04/98) incompletely
// implemented.
//                        DivisorsChrominance[index] = ((double) quantum_chrominance[index]) << 3;
// The divisors for the AAN method (the float method used in jpeg 6a library.
                        DivisorsChrominance[index] = 1d/(8d * quantum_chrominance[index] * AANscaleFactor[i] * AANscaleFactor[j]);
                        index++;
                }
        }

// quantum and Divisors are objects used to hold the appropriate matices

        quantum[0] = quantum_luminance;
        Divisors[0] = DivisorsLuminance;
        quantum[1] = quantum_chrominance;
        Divisors[1] = DivisorsChrominance;


    }

    /*
     * This method preforms forward DCT on a block of image data using
     * the literal method specified for a 2-D Discrete Cosine Transform.
     * It is included as a curiosity and can give you an idea of the
     * difference in the compression result (the resulting image quality)
     * by comparing its output to the output of the AAN method below.
     * It is ridiculously inefficient.
     */

// For now the final output is unusable.  The associated quantization step
// needs some tweaking.  If you get this part working, please let me know.

    public double[][] forwardDCTExtreme(float input[][])
    {
        double output[][] = new double[N][N];
        //double tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7;
        //double tmp10, tmp11, tmp12, tmp13;
        //double z1, z2, z3, z4, z5, z11, z13;
        //int i;
        //int j;
        int v, u, x, y;
        for (v = 0; v < 8; v++) {
                for (u = 0; u < 8; u++) {
                        for (x = 0; x < 8; x++) {
                                for (y = 0; y < 8; y++) {
                                        output[v][u] += input[x][y]*Math.cos(((2*x + 1)*(double)u*Math.PI)/16d)*Math.cos(((2*y + 1)*(double)v*Math.PI)/16d);
                                }
                        }
                        output[v][u] *= 0.25d*((u == 0) ? (1d/Math.sqrt(2)) : 1d)*((v == 0) ? (1d/Math.sqrt(2)) : 1d);
                }
        }
        return output;
    }


    /*
     * This method preforms a DCT on a block of image data using the AAN
     * method as implemented in the IJG Jpeg-6a library.
     */
    public double[][] forwardDCT(float input[][])
    {
        double output[][] = new double[N][N];
        double tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7;
        double tmp10, tmp11, tmp12, tmp13;
        double z1, z2, z3, z4, z5, z11, z13;
        int i;
        int j;

// Subtracts 128 from the input values
        for (i = 0; i < 8; i++) {
                for(j = 0; j < 8; j++) {
                        output[i][j] = input[i][j] - 128d;
//                        input[i][j] -= 128;

                }
        }

        for (i = 0; i < 8; i++) {
                tmp0 = output[i][0] + output[i][7];
                tmp7 = output[i][0] - output[i][7];
                tmp1 = output[i][1] + output[i][6];
                tmp6 = output[i][1] - output[i][6];
                tmp2 = output[i][2] + output[i][5];
                tmp5 = output[i][2] - output[i][5];
                tmp3 = output[i][3] + output[i][4];
                tmp4 = output[i][3] - output[i][4];

                tmp10 = tmp0 + tmp3;
                tmp13 = tmp0 - tmp3;
                tmp11 = tmp1 + tmp2;
                tmp12 = tmp1 - tmp2;

                output[i][0] = tmp10 + tmp11;
                output[i][4] = tmp10 - tmp11;

                z1 = (tmp12 + tmp13) * 0.707106781d;
                output[i][2] = tmp13 + z1;
                output[i][6] = tmp13 - z1;

                tmp10 = tmp4 + tmp5;
                tmp11 = tmp5 + tmp6;
                tmp12 = tmp6 + tmp7;

                z5 = (tmp10 - tmp12) * 0.382683433d;
                z2 = 0.541196100d * tmp10 + z5;
                z4 = 1.306562965d * tmp12 + z5;
                z3 = tmp11 * 0.707106781d;

                z11 = tmp7 + z3;
                z13 = tmp7 - z3;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美日韩三级| 国产99精品国产| 亚洲欧洲综合另类| 国产精品免费久久久久| 这里是久久伊人| 欧美日韩在线亚洲一区蜜芽| 91视频观看视频| 92国产精品观看| proumb性欧美在线观看| aaa欧美大片| 91免费国产视频网站| 91啪九色porn原创视频在线观看| 成人免费三级在线| 色网站国产精品| 欧美中文字幕一区二区三区| 欧美性猛交xxxxxxxx| 欧美三级三级三级| 日韩免费高清av| 日韩欧美在线1卡| 久久久亚洲午夜电影| 国产精品久久久久天堂| 亚洲女子a中天字幕| 亚洲一区欧美一区| 亚洲国产日韩一级| 久久精品国产亚洲一区二区三区| 国模大尺度一区二区三区| 国产精品一区免费在线观看| av亚洲产国偷v产偷v自拍| 91在线丨porny丨国产| 欧美日韩在线播放三区四区| 欧美日韩精品一二三区| 欧美成人官网二区| 亚洲图片另类小说| 天天影视涩香欲综合网| 韩国欧美国产一区| 91亚洲国产成人精品一区二区三 | 亚洲成a人在线观看| 久久国产剧场电影| aaa国产一区| 日韩午夜在线影院| 国产精品黄色在线观看| 天天免费综合色| 国产成人av电影在线播放| 日本韩国欧美一区| 精品久久久影院| 一区二区欧美视频| 国产一区二区三区综合| 在线视频中文字幕一区二区| 欧美成人video| 亚洲免费在线电影| 黄一区二区三区| 在线观看视频欧美| 国产精品乱子久久久久| 久久成人精品无人区| 色综合天天综合狠狠| 久久这里都是精品| 五月激情六月综合| 国产福利电影一区二区三区| 欧美三级电影一区| 国产精品美女久久久久久2018| 日韩不卡一区二区三区| 色噜噜夜夜夜综合网| 国产欧美一二三区| 精品在线视频一区| 欧美年轻男男videosbes| 亚洲日本丝袜连裤袜办公室| 国产综合久久久久久鬼色| 717成人午夜免费福利电影| 亚洲最新在线观看| 色老综合老女人久久久| 自拍偷拍亚洲综合| 成人污视频在线观看| 久久嫩草精品久久久精品| 丝袜美腿成人在线| 欧美精品xxxxbbbb| 亚洲成人激情社区| 欧美亚洲综合在线| 亚洲一级二级三级在线免费观看| 91农村精品一区二区在线| 国产嫩草影院久久久久| 国产91精品在线观看| 国产午夜精品久久久久久久| 蜜桃av一区二区在线观看| 欧美精品免费视频| 亚洲精品日日夜夜| 97久久超碰国产精品| 亚洲日穴在线视频| 成人的网站免费观看| 亚洲欧洲日产国码二区| 99re6这里只有精品视频在线观看| 国产亲近乱来精品视频| 成人国产在线观看| 综合精品久久久| 欧美日韩国产精品自在自线| 性感美女久久精品| 精品欧美乱码久久久久久1区2区| 久久99国产精品尤物| 久久久影视传媒| 成人黄色在线看| 亚洲精品成人悠悠色影视| 欧美日韩一区视频| 日本大胆欧美人术艺术动态| 日韩欧美国产三级电影视频| 韩国毛片一区二区三区| 国产日韩欧美制服另类| 成人av在线影院| 亚洲在线视频一区| 日韩一区二区三区在线视频| 国产精品一二三四区| 亚洲精品免费看| 日韩一卡二卡三卡| 国产九色sp调教91| 亚洲一区二区美女| 欧美哺乳videos| av男人天堂一区| 肉肉av福利一精品导航| 久久久国产精华| 日本道免费精品一区二区三区| 亚洲成av人片在www色猫咪| 久久综合九色综合97婷婷女人| av在线不卡电影| 男女男精品视频| **欧美大码日韩| 日韩视频免费直播| 91婷婷韩国欧美一区二区| 极品少妇xxxx精品少妇偷拍| 中文字幕永久在线不卡| 日韩欧美中文一区二区| 91麻豆成人久久精品二区三区| 久久激情综合网| 亚洲电影视频在线| 国产精品日韩精品欧美在线| 欧美一区二区三区播放老司机| av一本久道久久综合久久鬼色| 日本vs亚洲vs韩国一区三区二区| 国产精品色婷婷久久58| 久久新电视剧免费观看| 777a∨成人精品桃花网| 在线中文字幕一区| 99国产一区二区三精品乱码| 国产综合久久久久久久久久久久| 日韩精品亚洲专区| 亚洲国产视频一区二区| 夜夜嗨av一区二区三区网页| 中文字幕一区二区三区色视频| 久久久高清一区二区三区| 日韩欧美成人激情| 欧美一级二级三级蜜桃| 69堂成人精品免费视频| 欧洲色大大久久| 91色视频在线| 成人永久aaa| 成人夜色视频网站在线观看| 国模少妇一区二区三区| 韩国女主播成人在线| 免费成人在线观看视频| 日本亚洲最大的色成网站www| 一区二区三区蜜桃| 亚洲精品成人a在线观看| 国产精品久久久久7777按摩| 国产欧美一区二区精品婷婷 | 国产精品国产三级国产aⅴ无密码| 日韩一区二区三区三四区视频在线观看 | 国产制服丝袜一区| 国产一区二区在线观看视频| 狠狠v欧美v日韩v亚洲ⅴ| 韩国女主播成人在线| 国产成人亚洲精品青草天美| 九色|91porny| 国产精品中文字幕日韩精品| 国内精品不卡在线| 国产a久久麻豆| 99vv1com这只有精品| 欧美视频精品在线| 欧美一级二级在线观看| 国产亚洲欧美日韩日本| 国产精品毛片高清在线完整版| 国产精品久久久久久户外露出| 中文字幕一区在线| 亚洲动漫第一页| 亚洲成人在线网站| 国产麻豆91精品| 91论坛在线播放| 欧美视频一区在线| 日韩欧美高清dvd碟片| 日本一区二区三区电影| 一区二区三区日韩| 精品在线亚洲视频| av动漫一区二区| 在线电影院国产精品| 久久精品无码一区二区三区| 亚洲人成网站影音先锋播放| 热久久国产精品| 91日韩精品一区| 日韩精品一区在线| 尤物在线观看一区| 国产91在线|亚洲| 欧美精品v国产精品v日韩精品| 国产女同性恋一区二区| 天天av天天翘天天综合网|