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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? gif.c

?? miniucgui1.30版本的源碼
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
    while (GetDataBlock(src, (unsigned char *) buf) != 0);    return FALSE;}static int ZeroDataBlock = FALSE;static intGetDataBlock(MG_RWops *src, unsigned char *buf){    unsigned char count;    if (!ReadOK(src, &count, 1))        return -1;    ZeroDataBlock = count == 0;    if ((count != 0) && (!ReadOK(src, buf, count)))        return -1;    return count;}static intGetCode(MG_RWops *src, int code_size, int flag){    static unsigned char buf[280];    static int curbit, lastbit, done, last_byte;    int i, j, ret;    unsigned char count;    if (flag) {        curbit = 0;        lastbit = 0;        done = FALSE;        return 0;    }    if ((curbit + code_size) >= lastbit) {        if (done) {            if (curbit >= lastbit)#ifdef _DEBUG                fprintf (stderr,"load_gif: bad decode\n");#endif            return -1;        }        buf[0] = buf[last_byte - 2];        buf[1] = buf[last_byte - 1];        if ((count = GetDataBlock(src, &buf[2])) == 0)            done = TRUE;        last_byte = 2 + count;        curbit = (curbit - lastbit) + 16;        lastbit = (2 + count) * 8;    }    ret = 0;    for (i = curbit, j = 0; j < code_size; ++i, ++j)        ret |= ((buf[i / 8] & (1 << (i % 8))) != 0) << j;    curbit += code_size;    return ret;}static intLWZReadByte(MG_RWops *src, int flag, int input_code_size){    int code, incode;    register int i;    static int fresh = FALSE;    static int code_size, set_code_size;    static int max_code, max_code_size;    static int firstcode, oldcode;    static int clear_code, end_code;    static int table[2][(1 << MAX_LWZ_BITS)];    static int stack[(1 << (MAX_LWZ_BITS)) * 2], *sp;    if (flag) {        set_code_size = input_code_size;        code_size = set_code_size + 1;        clear_code = 1 << set_code_size;        end_code = clear_code + 1;        max_code_size = 2 * clear_code;        max_code = clear_code + 2;        GetCode(src, 0, TRUE);        fresh = TRUE;        for (i = 0; i < clear_code; ++i) {            table[0][i] = 0;            table[1][i] = i;        }        for (; i < (1 << MAX_LWZ_BITS); ++i)            table[0][i] = table[1][0] = 0;        sp = stack;        return 0;    } else if (fresh) {        fresh = FALSE;        do {            firstcode = oldcode = GetCode(src, code_size, FALSE);        } while (firstcode == clear_code);        return firstcode;    }    if (sp > stack)        return *--sp;    while ((code = GetCode(src, code_size, FALSE)) >= 0) {        if (code == clear_code) {            for (i = 0; i < clear_code; ++i) {                table[0][i] = 0;                table[1][i] = i;            }            for (; i < (1 << MAX_LWZ_BITS); ++i)                table[0][i] = table[1][i] = 0;            code_size = set_code_size + 1;            max_code_size = 2 * clear_code;            max_code = clear_code + 2;            sp = stack;            firstcode = oldcode = GetCode(src, code_size, FALSE);            return firstcode;        } else if (code == end_code) {            int count;            unsigned char buf[260];            if (ZeroDataBlock)                return -2;            while ((count = GetDataBlock(src, buf)) > 0);            if (count != 0) {                /*                 * fprintf (stderr,"missing EOD in data stream (common occurence)");                 */            }            return -2;        }        incode = code;        if (code >= max_code) {            *sp++ = firstcode;            code = oldcode;        }        while (code >= clear_code) {            *sp++ = table[1][code];            if (code == table[0][code])                fprintf (stderr,"load_gif: circular table entry\n");            code = table[0][code];        }        *sp++ = firstcode = table[1][code];        if ((code = max_code) < (1 << MAX_LWZ_BITS)) {            table[0][code] = oldcode;            table[1][code] = firstcode;            ++max_code;            if ((max_code >= max_code_size) &&                (max_code_size < (1 << MAX_LWZ_BITS))) {                max_code_size *= 2;                ++code_size;            }        }        oldcode = incode;        if (sp > stack)            return *--sp;    }    return code;}static intReadImage(MG_RWops* src, MYBITMAP* bmp, RGB* pal, int len, int height, int cmapSize,          unsigned char cmap[3][MAXCOLORMAPSIZE],          int gray, int interlace, int ignore){    unsigned char c;    int i, v;    int xpos = 0, ypos = 0, pass = 0;    /*     *        Initialize the compression routines     */    if (!ReadOK(src, &c, 1)) {        fprintf (stderr,"load_gif: EOF on image data\n");        return 0;    }    if (LWZReadByte(src, TRUE, c) < 0) {        fprintf (stderr,"load_gif: error reading image\n");        return 0;    }    /*     *        If this is an "uninteresting picture" ignore it.     */    if (ignore) {        while (LWZReadByte(src, FALSE, c) >= 0);        return 0;    }    /*image = ImageNewCmap(len, height, cmapSize);*/    bmp->w = len;    bmp->h = height;    bmp->frames = 1;    bmp->depth = 8;    bmpComputePitch (8, len, &bmp->pitch, TRUE);    bmp->bits = malloc (height * bmp->pitch);    if(!bmp->bits)            return 0;    for (i = 0; i < cmapSize; i++) {        /*ImageSetCmap(image, i, cmap[CM_RED][i],                     cmap[CM_GREEN][i], cmap[CM_BLUE][i]);*/        pal[i].r = cmap[CM_RED][i];        pal[i].g = cmap[CM_GREEN][i];        pal[i].b = cmap[CM_BLUE][i];    }    while ((v = LWZReadByte(src, FALSE, c)) >= 0) {        bmp->bits[ypos * bmp->pitch + xpos] = v;        ++xpos;        if (xpos == len) {            xpos = 0;            if (interlace) {                switch (pass) {                case 0:                case 1:                    ypos += 8;                    break;                case 2:                    ypos += 4;                    break;                case 3:                    ypos += 2;                    break;                }                if (ypos >= height) {                    ++pass;                    switch (pass) {                    case 1:                        ypos = 4;                        break;                    case 2:                        ypos = 2;                        break;                    case 3:                        ypos = 1;                        break;                    default:                        goto fini;                    }                }            } else {                ++ypos;            }        }        if (ypos >= height)            break;    }fini:    return 1;}BOOL check_gif (MG_RWops* fp){    char buf[16];    char version[4];    if (!ReadOK (fp, buf, 6))        return FALSE;               /* not gif image*/    if (strncmp(buf, "GIF", 3) != 0)        return FALSE;    strncpy (version, buf + 3, 3);    version [3] = '\0';    if (strcmp(version, "87a") != 0 && strcmp(version, "89a") != 0) {        return FALSE;               /* image loading error*/    }    return TRUE;}#endif /* _GIF_FILE_SUPPORT */

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区四区av| 56国语精品自产拍在线观看| 一区二区三区鲁丝不卡| 日韩精品一区二区三区三区免费| 国产成人在线视频播放| 亚洲综合视频在线观看| 欧美r级在线观看| 成人免费av网站| 日本va欧美va瓶| 亚洲一区二区三区四区在线免费观看 | 亚洲少妇30p| 精品国产凹凸成av人网站| yourporn久久国产精品| 亚洲图片欧美综合| 亚洲视频一区二区在线| 精品国产乱码久久久久久牛牛| 欧美最猛性xxxxx直播| 国产一区三区三区| 久久电影国产免费久久电影| 亚洲视频一区在线观看| 精品国产乱码久久久久久蜜臀 | 韩国精品主播一区二区在线观看| 亚洲欧美日韩电影| 国产精品久久夜| 久久天天做天天爱综合色| 欧美一区二区三区四区高清| 日本韩国精品一区二区在线观看| 国产一区二区三区四区五区入口| 日本欧美韩国一区三区| 亚洲国产你懂的| 亚洲mv在线观看| 亚洲色图在线视频| 欧美激情一区二区三区全黄| 91麻豆精品国产91久久久更新时间| 91麻豆高清视频| 欧美专区亚洲专区| 男人的天堂久久精品| 人人狠狠综合久久亚洲| 亚洲综合精品自拍| 26uuu欧美| 国产欧美一区二区三区鸳鸯浴| 日韩三级高清在线| 亚洲精品在线免费观看视频| 国产欧美一区二区精品性| 337p粉嫩大胆噜噜噜噜噜91av| 欧美一区二区三区视频| 91麻豆精品国产91久久久资源速度 | 亚洲女人小视频在线观看| 亚洲精品免费在线观看| 亚洲人成影院在线观看| 亚洲欧美成人一区二区三区| 亚洲一区二区精品3399| 亚洲电影你懂得| 青草国产精品久久久久久| 午夜国产不卡在线观看视频| 男男视频亚洲欧美| 麻豆精品一区二区三区| 国产精品一级在线| 美女网站色91| 精品一区二区综合| 日本 国产 欧美色综合| 精品在线一区二区| 老司机一区二区| 国产一区二区三区四区五区美女 | 欧美国产精品专区| 国产日韩欧美一区二区三区综合| 成人欧美一区二区三区| 亚洲激情欧美激情| 亚洲一区二区四区蜜桃| 日韩高清一级片| 图片区小说区区亚洲影院| 老司机精品视频在线| 九一久久久久久| 99精品黄色片免费大全| 欧美无砖砖区免费| 欧美一卡2卡三卡4卡5免费| 欧美www视频| 国产精品理论片在线观看| 综合久久给合久久狠狠狠97色| 亚洲另类在线一区| 亚洲一区免费在线观看| 人禽交欧美网站| 成人av中文字幕| 91精品国产色综合久久ai换脸| 精品国产三级a在线观看| 亚洲欧美二区三区| 欧美aaaaaa午夜精品| 色综合久久久久综合体| 欧美一区二区在线播放| 国产精品美女久久久久久久久| 亚洲成人av中文| 国产黄色精品网站| 欧美人体做爰大胆视频| 国产亚洲一本大道中文在线| 午夜久久久久久电影| 国产91丝袜在线观看| 555夜色666亚洲国产免| 欧美国产在线观看| 蜜桃一区二区三区在线| 一本色道久久综合亚洲91| 精品伦理精品一区| 亚洲综合免费观看高清在线观看| 国产成人av一区二区| 欧美丝袜丝nylons| 欧美va亚洲va香蕉在线| 亚洲第一综合色| 国产激情一区二区三区桃花岛亚洲| 欧美高清视频一二三区| 国产精品高潮久久久久无| 国产精品亚洲成人| 欧美一级在线视频| 亚洲v精品v日韩v欧美v专区| 波多野结衣在线一区| 精品国产髙清在线看国产毛片| 一卡二卡欧美日韩| 91精品久久久久久久99蜜桃| 最新欧美精品一区二区三区| av成人老司机| 欧美精品tushy高清| 久久精品视频免费观看| 久久www免费人成看片高清| 91久久精品网| 亚洲精品日韩一| 成人av电影在线| √…a在线天堂一区| 国产69精品久久777的优势| 久久久青草青青国产亚洲免观| 午夜精品久久久久久久| 欧美午夜影院一区| 亚洲视频在线一区观看| 91蜜桃传媒精品久久久一区二区| 欧美韩国日本一区| 成人黄色在线网站| 久久久精品黄色| 成人在线视频一区| 久久久av毛片精品| 成人黄色软件下载| 国产亚洲人成网站| 成人高清视频在线观看| 国产日韩欧美精品在线| 波多野结衣的一区二区三区| 国产欧美日韩中文久久| 成人黄色国产精品网站大全在线免费观看| 精品欧美一区二区久久| 国产成人日日夜夜| 日本一区二区三区在线观看| 99久久精品免费看国产免费软件| 国产亚洲一区字幕| 91在线无精精品入口| 亚洲免费av高清| 欧日韩精品视频| 亚洲综合色丁香婷婷六月图片| 91网址在线看| 青青草原综合久久大伊人精品| 欧美性做爰猛烈叫床潮| 午夜精品福利在线| 欧美日韩高清一区二区不卡| 天堂在线亚洲视频| 日韩一区二区视频| 国产乱子伦一区二区三区国色天香| 久久影视一区二区| 国产成人av自拍| 亚洲天堂免费看| 在线精品视频小说1| 日韩av中文在线观看| 精品国产伦理网| 极品少妇xxxx精品少妇偷拍 | 精品对白一区国产伦| 亚洲人成精品久久久久| 欧美天堂亚洲电影院在线播放| 另类欧美日韩国产在线| 国产网站一区二区三区| 欧美四级电影网| 久草中文综合在线| 亚洲精品欧美激情| 91麻豆精品国产91久久久使用方法 | 欧美日韩一区二区三区四区 | 2024国产精品| 成人免费视频视频| 日韩国产在线观看| 精品不卡在线视频| 色网站国产精品| 日日噜噜夜夜狠狠视频欧美人| 欧美刺激脚交jootjob| 99久久免费视频.com| 日韩va亚洲va欧美va久久| 国产精品成人在线观看| 欧美日韩免费不卡视频一区二区三区 | 欧美久久久久久久久| 成人一区二区视频| 午夜欧美一区二区三区在线播放 | 午夜精品成人在线| 国产精品视频线看| 欧美丝袜丝nylons| av高清不卡在线| 亚洲国产综合人成综合网站| 日韩精品一区二区三区三区免费| 99视频精品免费视频| 美女在线观看视频一区二区| 亚洲欧美电影一区二区|