diff options
author | pajoye <none@none> | 2008-01-22 17:46:02 +0000 |
---|---|---|
committer | pajoye <none@none> | 2008-01-22 17:46:02 +0000 |
commit | f769fe0a0df695c3a3c504dd4ae6522607cdb5e9 (patch) | |
tree | 96952396dfb02326fea5a359a49c0c740bcdf0c4 /examples/gif.c | |
parent | 50ba0f31c895b2ae343f3bf0ba0b4225f91d31db (diff) | |
download | libgd-f769fe0a0df695c3a3c504dd4ae6522607cdb5e9.tar.gz |
- add animated GIF example with a palette per frame (local palette)
Diffstat (limited to 'examples/gif.c')
-rw-r--r-- | examples/gif.c | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/examples/gif.c b/examples/gif.c new file mode 100644 index 0000000..0c845b0 --- /dev/null +++ b/examples/gif.c @@ -0,0 +1,52 @@ +#include <stdio.h> +#include <stdlib.h> +#include <gd.h> + +int main(int argc, char ** argv) +{ + int i; + FILE * out; + + gdImagePtr im; + gdImagePtr prev =NULL; + int white, black; + + im = gdImageCreate(100, 100); + if (!im) { + fprintf(stderr, "can't create image"); + return 1; + } + + out = fopen("anim.gif", "wb"); + if (!out) { + fprintf(stderr, "can't create file %s", "anim.gif"); + return 1; + } + + white = gdImageColorAllocate(im, 255, 255, 255); + gdImageGifAnimBegin(im, out, 1, -1); + + for(i = 0; i < 20; i++) { + int r,g,b; + im = gdImageCreate(100, 100); + r = rand() % 255; + g = rand() % 255; + b = rand() % 255; + + white = gdImageColorAllocate(im, 255, 255, 255); + black = gdImageColorAllocate(im, r, g, b); + printf("(%i, %i, %i)\n",r, g, b); + gdImageFilledRectangle(im, rand() % 100, rand() % 100, rand() % 100, rand() % 100, black); + gdImageGifAnimAdd(im, out, 1, 0, 0, 10, 1, prev); + + if(prev) { + gdImageDestroy(prev); + } + prev = im; + } + + gdImageGifAnimEnd(out); + fclose(out); + + return 0; +}
\ No newline at end of file |