giflib-devel Mailing List for GIFLIB
A library and utilities for processing GIFs
Brought to you by:
abadger1999,
esr
You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(4) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
(8) |
May
(4) |
Jun
(3) |
Jul
(3) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
|
2014 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
(4) |
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
2016 |
Jan
(4) |
Feb
(1) |
Mar
|
Apr
|
May
(2) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2019 |
Jan
|
Feb
(1) |
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2021 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
(1) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2023 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
2024 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
|
1
(1) |
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
15
|
16
|
17
|
18
|
19
|
20
|
21
|
22
|
23
|
24
|
25
|
26
|
27
|
28
|
29
|
30
|
|
|
|
|
From: Douglas B. <be...@di...> - 2004-11-01 20:55:27
|
Hi, I hope someone can point me in the right direction here. I've been looking at this to the point I'm about to give up. I'm trying to write out a looping GIF and everything seems to work great except no looping. Possibly someone can point me to a good example? Here's my GIF writing function, hopefully someone can be of some help. Thanks in advance, Doug ----------------------------------------------------- bool Pad::export(char *filename) { GifFileType *GifFile; QuantizedColorType *QuantizationTable=NULL; ColorMapObject *OutputColorMap = NULL; int CMapSize=256; if ((OutputColorMap = MakeMapObject(CMapSize, NULL)) == NULL) return false; int delay=(getSpeed(playSpeed)*100)/80; QuantizePad(back->w,back->h,&CMapSize,this,&QuantizationTable,OutputColorMap->Colors); char *outBuf=(char *)malloc(back->w*back->h); if(outBuf==NULL) return false; sprintf(st,"%s%s.gif",customPath,filename); if ((GifFile= EGifOpenFileName(st,FALSE)) == NULL) return false; if (EGifPutScreenDesc(GifFile,back->w,back->h, 8, 0,OutputColorMap) == GIF_ERROR ) return false; for(int r=0; r<pages; r++) { this->changePage(&activePage,r); cleanSurf(back,activePage); int index; int rr,gg,bb,i,j; for(j=0; j<activePage->h; j++) for(i=0; i<activePage->w; i++) outBuf[i+j*activePage->w]= QuantizationTable[index].NewColorIndex; } { stripRGB(getSurf(activePage,i,j),&rr,&gg,&bb); index=(rr<<10)+(gg<<5)+bb; if(pages>1) { static unsigned char ExtStr[4] = { 0x04, 0x00, 0x00, 0xff }; ExtStr[0] = 0 ? 0x06 : 0x04; ExtStr[1] = delay % 256; ExtStr[2] = delay / 256; EGifPutExtension(GifFile, GRAPHICS_EXT_FUNC_CODE, 4, ExtStr); } if (EGifPutImageDesc(GifFile,0, 0, back->w, back->h, FALSE, OutputColorMap) ==GIF_ERROR) { return false; } sprintf(st,"Saving Frame %d of %d",r+1,pages); putButton(back,st,back->cx,back->cy,4); updatePrimary(back); GifByteType *Ptr =(unsigned char *) outBuf; for (i = 0; i < back->h; i++) { if (EGifPutLine(GifFile, Ptr, back->w) == GIF_ERROR) return false; Ptr += back->w; } } if (EGifCloseFile(GifFile) == GIF_ERROR) return false; free(outBuf); free(QuantizationTable); return true; } |