Blame src/circletexttest.c

Packit Service df60bb
#ifdef HAVE_CONFIG_H
Packit Service df60bb
#	include "config.h"
Packit Service df60bb
#endif
Packit Service df60bb
Packit Service df60bb
#include <stdio.h>
Packit Service df60bb
#include "gd.h"
Packit Service df60bb
Packit Service df60bb
int main(void)
Packit Service df60bb
{
Packit Service df60bb
	/* 2.0.22: can't depend on PNG either  */
Packit Service df60bb
#ifndef HAVE_LIBPNG
Packit Service df60bb
	fprintf(stderr, "Requires PNG support, gd was compiled without it\n");
Packit Service df60bb
	return 0;
Packit Service df60bb
#else
Packit Service df60bb
	char *error;
Packit Service df60bb
#ifdef HAVE_LIBJPEG
Packit Service df60bb
	FILE *in = 0;
Packit Service df60bb
#endif
Packit Service df60bb
	FILE *out;
Packit Service df60bb
	gdImagePtr im;
Packit Service df60bb
	int radius;
Packit Service df60bb
	/* Create an image of text on a circle, with an
Packit Service df60bb
	 * alpha channel so that we can copy it onto a
Packit Service df60bb
	 * background
Packit Service df60bb
	 * TBB: 2.0.18: shouldn't depend on JPEG
Packit Service df60bb
	 */
Packit Service df60bb
#ifdef HAVE_LIBJPEG
Packit Service df60bb
	in = fopen("eleanor.jpg", "rb");
Packit Service df60bb
	if(!in) {
Packit Service df60bb
		im = gdImageCreateTrueColor(300, 300);
Packit Service df60bb
	} else {
Packit Service df60bb
		im = gdImageCreateFromJpeg(in);
Packit Service df60bb
		fclose(in);
Packit Service df60bb
	}
Packit Service df60bb
#else
Packit Service df60bb
	im = gdImageCreateTrueColor(300, 300);
Packit Service df60bb
#endif /* HAVE_LIBJPEG */
Packit Service df60bb
	if(!im) {
Packit Service df60bb
		fprintf(stderr, "gdImageCreateTrueColor failed \n");
Packit Service df60bb
		return 1;
Packit Service df60bb
	}
Packit Service df60bb
	if(gdImageSX(im) < gdImageSY(im)) {
Packit Service df60bb
		radius = gdImageSX(im) / 2;
Packit Service df60bb
	} else {
Packit Service df60bb
		radius = gdImageSY(im) / 2;
Packit Service df60bb
	}
Packit Service df60bb
Packit Service df60bb
	error = gdImageStringFTCircle(im,
Packit Service df60bb
	                              gdImageSX(im) / 2, gdImageSY(im) / 2,
Packit Service df60bb
	                              radius, radius / 2,
Packit Service df60bb
	                              0.8, "arial", 24, "top text", "bottom text",
Packit Service df60bb
	                              gdTrueColorAlpha(192, 100, 255, 32)
Packit Service df60bb
	                             );
Packit Service df60bb
	if(error)  {
Packit Service df60bb
		fprintf(stderr, "gdImageStringFTEx error: %s\n", error);
Packit Service df60bb
	}
Packit Service df60bb
Packit Service df60bb
	out = fopen("gdfx.png", "wb");
Packit Service df60bb
	if(!out) {
Packit Service df60bb
		fprintf(stderr, "Can't create gdfx.png\n");
Packit Service df60bb
		return 1;
Packit Service df60bb
	}
Packit Service df60bb
Packit Service df60bb
	gdImagePng(im, out);
Packit Service df60bb
	fclose(out);
Packit Service df60bb
	gdImageDestroy(im);
Packit Service df60bb
#endif /* HAVE_LIBPNG */
Packit Service df60bb
	return 0;
Packit Service df60bb
}