Blame examples/gif.c

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