- add animated GIF example with a palette per frame (local palette)
parent
50ba0f31c8
commit
f769fe0a0d
|
@ -5,7 +5,8 @@ include_directories (BEFORE ${GD_SOURCE_DIR}/src "${CMAKE_BINARY_DIR}")
|
|||
SET(TESTS_FILES
|
||||
tgaread
|
||||
crop
|
||||
nnquant
|
||||
nnquant
|
||||
gif
|
||||
)
|
||||
|
||||
if (WIN32)
|
||||
|
|
|
@ -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;
|
||||
}
|
Loading…
Reference in New Issue