1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
|
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include <stdio.h>
#include "gd.h"
/* 2.0.22: oops, we need config.h */
#include "config.h"
int
main (int argc, char *argv[])
{
/* 2.0.22: can't depend on PNG either */
#ifndef HAVE_LIBPNG
fprintf (stderr, "Requires PNG support, gd was compiled without it\n");
exit (0);
#else
char *error;
FILE *in = 0;
FILE *out;
gdImagePtr im;
int radius;
/* Create an image of text on a circle, with an
alpha channel so that we can copy it onto a
background */
/* TBB: 2.0.18: shouldn't depend on JPEG */
#ifdef HAVE_LIBJPEG
in = fopen ("eleanor.jpg", "rb");
if (!in)
{
im = gdImageCreateTrueColor (300, 300);
}
else
{
im = gdImageCreateFromJpeg (in);
fclose (in);
}
#else
im = gdImageCreateTrueColor (300, 300);
#endif /* HAVE_LIBJPEG */
if (gdImageSX (im) < gdImageSY (im))
{
radius = gdImageSX (im) / 2;
}
else
{
radius = gdImageSY (im) / 2;
}
error = gdImageStringFTCircle (im,
gdImageSX (im) / 2,
gdImageSY (im) / 2,
radius,
radius / 2,
0.8,
"arial",
24,
"top text",
"bottom text",
gdTrueColorAlpha (192, 100, 255, 32));
if (error)
{
fprintf(stderr, "gdImageStringFTEx error: %s\n", error);
}
out = fopen ("gdfx.png", "wb");
if (!out)
{
fprintf (stderr, "Can't create gdfx.png\n");
return 1;
}
gdImagePng (im, out);
fclose (out);
gdImageDestroy (im);
#endif /* HAVE_LIBPNG */
return 0;
}
|