Blame examples/gif.c

Packit ed3af9
#include <stdio.h>
Packit ed3af9
#include <stdlib.h>
Packit ed3af9
#include <gd.h>
Packit ed3af9
Packit ed3af9
int main(void)
Packit ed3af9
{
Packit ed3af9
	int i;
Packit ed3af9
	FILE * out;
Packit ed3af9
Packit ed3af9
	gdImagePtr im;
Packit ed3af9
	gdImagePtr prev =NULL;
Packit ed3af9
	int black;
Packit ed3af9
Packit ed3af9
	im = gdImageCreate(100, 100);
Packit ed3af9
	if (!im) {
Packit ed3af9
		fprintf(stderr, "can't create image");
Packit ed3af9
		return 1;
Packit ed3af9
	}
Packit ed3af9
Packit ed3af9
	out = fopen("anim.gif", "wb");
Packit ed3af9
	if (!out) {
Packit ed3af9
		fprintf(stderr, "can't create file %s", "anim.gif");
Packit ed3af9
		return 1;
Packit ed3af9
	}
Packit ed3af9
Packit ed3af9
	gdImageColorAllocate(im, 255, 255, 255); /* allocate white as side effect */
Packit ed3af9
	gdImageGifAnimBegin(im, out, 1, -1);
Packit ed3af9
Packit ed3af9
	for(i = 0; i < 20; i++) {
Packit ed3af9
		int r,g,b;
Packit ed3af9
		im = gdImageCreate(100, 100);
Packit ed3af9
		r = rand() % 255;
Packit ed3af9
		g = rand() % 255;
Packit ed3af9
		b = rand() % 255;
Packit ed3af9
Packit ed3af9
		gdImageColorAllocate(im, 255, 255, 255);  /* allocate white as side effect */
Packit ed3af9
		black = gdImageColorAllocate(im,  r, g, b);
Packit ed3af9
		printf("(%i, %i, %i)\n",r, g, b);
Packit ed3af9
		gdImageFilledRectangle(im, rand() % 100, rand() % 100, rand() % 100, rand() % 100, black);
Packit ed3af9
		gdImageGifAnimAdd(im, out, 1, 0, 0, 10, 1, prev);
Packit ed3af9
Packit ed3af9
		if(prev) {
Packit ed3af9
			gdImageDestroy(prev);
Packit ed3af9
		}
Packit ed3af9
		prev = im;
Packit ed3af9
	}
Packit ed3af9
Packit ed3af9
	gdImageGifAnimEnd(out);
Packit ed3af9
	fclose(out);
Packit ed3af9
Packit ed3af9
	return 0;
Packit ed3af9
}