summaryrefslogtreecommitdiff
path: root/Build/source/libs/gd/libgd-src/src/circletexttest.c
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/gd/libgd-src/src/circletexttest.c')
-rw-r--r--Build/source/libs/gd/libgd-src/src/circletexttest.c63
1 files changed, 63 insertions, 0 deletions
diff --git a/Build/source/libs/gd/libgd-src/src/circletexttest.c b/Build/source/libs/gd/libgd-src/src/circletexttest.c
new file mode 100644
index 00000000000..55e0970c1a3
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/src/circletexttest.c
@@ -0,0 +1,63 @@
+#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 */
+#ifndef HAVE_LIBPNG
+ fprintf(stderr, "Requires PNG support, gd was compiled without it\n");
+ return 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;
+}