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