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

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

?? imagetogif.java

?? JavaExplorer是一個獨立于平臺的瀏覽器
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/**  * File and FTP Explorer  * Copyright 2002  * BOESCH Vincent  *  * This program is free software; you can redistribute it and/or  * modify it under the terms of the GNU General Public License  * as published by the Free Software Foundation; either version 2  * of the License, or (at your option) any later version.  *  * This program is distributed in the hope that it will be useful,  * but WITHOUT ANY WARRANTY; without even the implied warranty of  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  * GNU General Public License for more details.  *  * You should have received a copy of the GNU General Public License  * along with this program; if not, write to the Free Software  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */package javaexplorer.io.encoder;import java.awt.*;import java.awt.image.PixelGrabber;import java.io.*;import java.util.Vector;public class ImageToGif extends Canvas {    //private final static int COLOR_MAX = 256;    //private final static int TABLESIZE = 5003;    private short[] Block;    private short BlockPos;    private short clearCode;    private short[] code;    private short[] codeCharacter;    private DataOutputStream dataOut;    private short endCode;    private byte flagLSD;    private short freeSlot;    private Image image;    private short imgHeight;    private short imgWidth;    private short lzwBits;    private int lzwData;    private boolean message;    private OutputStream output;    private int[] palArr;    private int palSize;    private short[] pixCol;    private short[] prefix;    private short sActCodeSize;    private short sOriginalCodeSize;    /**     *  Constructeur objet ImageToGif     *     *@param  image1           Description     *      of the Parameter     *@param  outputstream     Description     *      of the Parameter     *@param  flag             Description     *      of the Parameter     *@exception  IOException  Description     *      of the Exception     */    public ImageToGif(Image image1, OutputStream outputstream, boolean flag)        throws IOException {        image = image1;        output = outputstream;        message = flag;        startProc();    }    /**     */    public void CalcSpecialCodes() {        clearCode = (short) (1 << sOriginalCodeSize);        for (short word0 = 0; word0 < clearCode; word0++) {            prefix[word0] = word0;            codeCharacter[word0] = (byte) word0;        }        endCode = (short) (clearCode + 1);        freeSlot = (short) (clearCode + 2);        sActCodeSize = (short) (sOriginalCodeSize + 1);    }    /**     */    public void ClearCompressionTable() {        for (short word0 = 0; word0 < 5003; word0++) {            code[word0] = -1;        }    }    /**     *@param  word0  Description of the Parameter     *@param  word1  Description of the Parameter     *@return        Description of the Return     *      Value     */    public short FindSlot(short word0, short word1) {        short word2 = (short) ((word1 << 4) ^ word0);        short word3 = (short) ((word2 != 0) ? (5003 - word2) : 1);        do {            do {                if (code[word2] == -1) {                    return word2;                }                if ((prefix[word2] == word0) &&                        (codeCharacter[word2] == word1)) {                    return word2;                }                word2 -= word3;            } while (word2 >= 0);            word2 += 5003;        } while (true);    }    /**     *@param  word0  Description of the Parameter     *@return        Description of the Return     *      Value     */    public char MSBtoLSB(short word0) {        short word1 = (short) (word0 >> 8);        short word2 = (short) ((word0 & 0xff) << 8);        return (char) (word2 + word1);    }    /**     *@return    Description of the Return     *      Value     */    public boolean calcGif() {        try {            return writeHeader() && writeLSD() && writeGlobalPalette() &&            writeImageDescriptor() && writeDataBlocks();        } catch (Exception ex) {            return false;        }    }    /**     *@return    Description of the Return     *      Value     */    public boolean closeGif() {        try {            dataOut.writeByte(59);            output.close();            return true;        } catch (Exception ex) {            return false;        }    }    /**     *  Gets the imageInfo attribute of the     *  ImageToGif object     *     *@return    The imageInfo value     */    public boolean getImageInfo() {        int i1 = 0;        int j1 = 0;        int k1 = 0;        int[] ai1 = {            0xffffff, 0xffffff, 0xe0e0c0, 0xe0e0e0, 0xf0f0f0, 0xf8f8f8, 0xfcfcfc,            0xfefefe, 0xffffff, 0xffffff        };        try {            imgWidth = (short) image.getWidth(this);            imgHeight = (short) image.getHeight(this);            int l = imgWidth * imgHeight;            int[] ai = new int[l];            PixelGrabber pixelgrabber = new PixelGrabber(image, 0, 0, imgWidth,                    imgHeight, ai, 0, imgWidth);            Vector vector = new Vector(256);            Vector vector1 = new Vector(1);            Integer[] ainteger = new Integer[0];            Integer[] ainteger1 = new Integer[1];            pixelgrabber.grabPixels();            vector1.addElement(new Integer(0));            while ((j1 <= 256) || (ai1[i1] == 0xffffff)) {                ainteger = new Integer[vector.size()];                vector.copyInto(ainteger);                k1 = j1;                i1++;                vector.removeAllElements();                vector.addElement(new Integer(ai[0] & ai1[i1]));                vector.addElement(new Integer(0x1000000));                j1 = 2;                palSize = 2;                boolean flag1 = true;                byte byte0 = 2;                for (int l1 = 1; l1 < l; l1++) {                    int i = ai[l1] & ai1[i1];                    int j = palSize - 1;                    int k = palSize;                    boolean flag;                    do {                        vector1.setElementAt(vector.elementAt(j), 0);                        vector1.copyInto(ainteger1);                        if (i == ainteger1[0].intValue()) {                            k = 0;                            flag = true;                        } else {                            k /= 2;                            if (i < ainteger1[0].intValue()) {                                j -= k;                            } else {                                j += k;                            }                            flag = false;                        }                    } while (k > 0);                    if (flag) {                        continue;                    }                    vector1.setElementAt(vector.elementAt(j), 0);                    vector1.copyInto(ainteger1);                    if (i < ainteger1[0].intValue()) {                        vector.insertElementAt(new Integer(ai[l1] & ai1[i1]), j);                    } else {                        vector.insertElementAt(new Integer(ai[l1] & ai1[i1]),                            j + 1);                    }                    if (j1++ > 256) {                        break;                    }                    vector.removeElement(vector.lastElement());                    if (j1 > palSize) {                        for (int j2 = palSize; j2 < (2 * palSize); j2++) {                            vector.addElement(new Integer(0x1000000));                        }                        palSize *= 2;                    }                }                if ((--j1 <= 256) && (ai1[i1] == 0xffffff)) {                    ainteger = new Integer[vector.size()];                    vector.copyInto(ainteger);                    k1 = j1;                    break;                }                if (((j1 > 256) && (ai1[i1] != 0xffffff)) ||                        ((i1 > 3) && (ai1[i1] == 0xffffff))) {                    break;                }            }            i1--;            palSize = k1;            palArr = new int[palSize];            for (int i2 = 0; i2 < palSize; i2++) {                palArr[i2] = ainteger[i2].intValue() |                    (((ai1[i1] ^ 0xffffff) >> 1) & (ai1[i1] ^ 0xffffff));            }            pixCol = new short[l];            for (int k2 = 0; k2 < l; k2++) {                for (short word0 = 0; word0 < palSize; word0++) {                    if ((ai[k2] & ai1[i1]) != (palArr[word0] & ai1[i1])) {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区中文免费| 亚洲丝袜精品丝袜在线| 在线免费一区三区| 91亚洲资源网| 91丨九色丨蝌蚪丨老版| 99久久精品免费精品国产| 成人av在线观| 欧美亚洲另类激情小说| 欧美日韩中文字幕一区二区| 欧美人伦禁忌dvd放荡欲情| 在线电影国产精品| 亚洲精品在线网站| 国产午夜精品理论片a级大结局| 国产偷v国产偷v亚洲高清| 中文字幕在线不卡国产视频| 亚洲小说欧美激情另类| 日韩福利视频导航| 国产一区二区三区精品视频| 国产不卡在线视频| 欧洲精品在线观看| 精品欧美一区二区三区精品久久| 久久天天做天天爱综合色| 亚洲天堂网中文字| 日韩影院在线观看| 国产精一品亚洲二区在线视频| 成人午夜激情影院| 欧美卡1卡2卡| 国产精品视频看| 亚洲va欧美va国产va天堂影院| 久久99精品网久久| 91在线视频18| 欧美大片在线观看一区| 亚洲免费观看在线视频| 久久精品国产亚洲高清剧情介绍 | 国产日韩欧美a| 一区二区三区成人| 国产精品中文欧美| 欧美专区日韩专区| 国产精品女上位| 蜜臀av性久久久久蜜臀av麻豆| av男人天堂一区| 精品国产一区久久| 亚洲高清免费观看高清完整版在线观看| 乱一区二区av| 欧美视频第二页| 国产精品天美传媒| 黑人巨大精品欧美一区| 欧美色网一区二区| 亚洲欧洲另类国产综合| 国产一区高清在线| 欧美精品第一页| 一区二区三区中文字幕精品精品| 国产一区二区三区四| 91精品国产综合久久久久久漫画 | 亚洲专区一二三| 高清国产一区二区| 欧美成人午夜电影| 日韩有码一区二区三区| 欧美视频一区二区| 亚洲综合另类小说| 色又黄又爽网站www久久| 国产精品人人做人人爽人人添| 美美哒免费高清在线观看视频一区二区 | 不卡的av电影在线观看| 精品国产成人系列| 日本欧美加勒比视频| 欧美日韩三级一区二区| 一区二区三区中文字幕在线观看| www.日本不卡| 亚洲素人一区二区| 99九九99九九九视频精品| 中文字幕不卡在线播放| 成人高清视频在线| 成人欧美一区二区三区在线播放| 春色校园综合激情亚洲| 国产欧美日韩三级| 97久久精品人人做人人爽| 亚洲欧美福利一区二区| 色婷婷精品大在线视频| 亚洲与欧洲av电影| 欧美一区二区视频免费观看| 奇米精品一区二区三区四区 | 成人看片黄a免费看在线| 国产欧美日本一区二区三区| av一二三不卡影片| 亚洲精品乱码久久久久久日本蜜臀| 色婷婷香蕉在线一区二区| 亚洲一级片在线观看| 欧美老年两性高潮| 激情图区综合网| 中文字幕电影一区| 色综合久久中文综合久久牛| 亚洲午夜精品一区二区三区他趣| 欧美喷水一区二区| 精品在线观看免费| 成人免费一区二区三区视频 | 91精品国产91久久久久久一区二区 | 久久精品99国产精品日本| 久久综合狠狠综合| 成人高清在线视频| 婷婷中文字幕综合| 久久这里只有精品首页| kk眼镜猥琐国模调教系列一区二区| 亚洲色图都市小说| 日韩欧美一区二区视频| 成人一级视频在线观看| 亚洲一区二区视频| 久久久综合激的五月天| 91看片淫黄大片一级在线观看| 亚洲国产综合人成综合网站| 久久女同互慰一区二区三区| 欧美羞羞免费网站| 国产伦精一区二区三区| 亚洲国产精品一区二区www在线| 精品精品欲导航| 欧美午夜视频网站| 粉嫩欧美一区二区三区高清影视 | 国产精品一区二区不卡| 亚洲一区影音先锋| 国产欧美精品国产国产专区| 欧美一区二区大片| 色综合咪咪久久| 国产福利电影一区二区三区| 亚洲成人av资源| 成人免费在线播放视频| 国产亚洲一二三区| 欧美一区二区女人| 在线精品视频免费观看| 成人美女在线观看| 国产一区视频导航| 免费成人结看片| 亚洲宅男天堂在线观看无病毒| 日本一区二区三区在线不卡| 欧美一区二区观看视频| 欧美亚男人的天堂| 色综合久久九月婷婷色综合| 国产**成人网毛片九色| 国产一区二区91| 久久精品国产亚洲aⅴ | 国产在线日韩欧美| 日韩经典中文字幕一区| 亚洲第一狼人社区| 夜夜爽夜夜爽精品视频| 亚洲精品视频在线观看免费| 国产精品色婷婷| 中文字幕欧美日韩一区| 久久精品一区二区| 久久久久99精品一区| 国产日韩影视精品| 久久久久国产精品免费免费搜索| 欧美不卡在线视频| 久久先锋影音av鲁色资源| 精品国产一区二区三区av性色 | 日本韩国精品在线| 在线观看欧美日本| 欧美三级电影一区| 欧美三级视频在线播放| 欧美精品色一区二区三区| 欧美一级日韩一级| 欧美电影免费观看高清完整版在线 | 97se狠狠狠综合亚洲狠狠| 成人av资源站| 在线观看91精品国产入口| 欧美三级乱人伦电影| 欧美一三区三区四区免费在线看| 精品少妇一区二区三区在线播放 | 欧美高清性hdvideosex| 欧美高清视频在线高清观看mv色露露十八 | 蜜臀99久久精品久久久久久软件| 日本va欧美va精品| 国产美女娇喘av呻吟久久| 成人久久视频在线观看| 日本精品裸体写真集在线观看| 欧美色精品在线视频| 欧美一区二区三区色| 国产欧美日韩综合| 夜色激情一区二区| 美女精品自拍一二三四| 成人性生交大片免费看视频在线 | 精品99一区二区三区| 亚洲欧美日韩在线不卡| 亚洲成在线观看| 国产盗摄一区二区三区| 欧美午夜精品免费| 精品国产凹凸成av人网站| 亚洲欧美怡红院| 精彩视频一区二区| 91成人免费在线视频| 2017欧美狠狠色| 亚洲国产成人91porn| 粉嫩av亚洲一区二区图片| 欧美久久久久久蜜桃| 国产精品毛片大码女人| 青草国产精品久久久久久| 99精品视频中文字幕| 精品美女一区二区三区| 一区二区免费视频| 成人av资源在线观看| 日韩精品一区二区三区四区| 亚洲乱码国产乱码精品精的特点 |