65 lines
1.4 KiB
C
65 lines
1.4 KiB
C
#ifdef HAVE_CONFIG_H
|
|
# include "config.h"
|
|
#endif
|
|
|
|
#include <stdio.h>
|
|
#include "gd.h"
|
|
|
|
int main(void)
|
|
{
|
|
/* 2.0.22: can't depend on PNG either */
|
|
char *error;
|
|
#ifdef HAVE_LIBJPEG
|
|
FILE *in = 0;
|
|
#endif
|
|
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(!im) {
|
|
fprintf(stderr, "gdImageCreateTrueColor failed \n");
|
|
return 1;
|
|
}
|
|
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);
|
|
return 0;
|
|
}
|