diff options
Diffstat (limited to 'Build/source/libs/gd/gd-2.0.35/gdtestft.c')
-rw-r--r-- | Build/source/libs/gd/gd-2.0.35/gdtestft.c | 206 |
1 files changed, 0 insertions, 206 deletions
diff --git a/Build/source/libs/gd/gd-2.0.35/gdtestft.c b/Build/source/libs/gd/gd-2.0.35/gdtestft.c deleted file mode 100644 index 1fc06e3251b..00000000000 --- a/Build/source/libs/gd/gd-2.0.35/gdtestft.c +++ /dev/null @@ -1,206 +0,0 @@ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include "gd.h" -#include <string.h> -#include <stdlib.h> - -#define PI 3.141592 -#define DEG2RAD(x) ((x)*PI/180.) - -#define MAX(x,y) ((x) > (y) ? (x) : (y)) -#define MIN(x,y) ((x) < (y) ? (x) : (y)) - -#define MAX4(x,y,z,w) \ - ((MAX((x),(y))) > (MAX((z),(w))) ? (MAX((x),(y))) : (MAX((z),(w)))) -#define MIN4(x,y,z,w) \ - ((MIN((x),(y))) < (MIN((z),(w))) ? (MIN((x),(y))) : (MIN((z),(w)))) - -#define MAXX(x) MAX4(x[0],x[2],x[4],x[6]) -#define MINX(x) MIN4(x[0],x[2],x[4],x[6]) -#define MAXY(x) MAX4(x[1],x[3],x[5],x[7]) -#define MINY(x) MIN4(x[1],x[3],x[5],x[7]) - -int -main (int argc, char *argv[]) -{ -#ifndef HAVE_LIBFREETYPE - fprintf (stderr, "gd was not compiled with HAVE_LIBFREETYPE defined.\n"); - fprintf (stderr, "Install the FreeType library, including the\n"); - fprintf (stderr, "header files. Then edit the gd Makefile, type\n"); - fprintf (stderr, "make clean, and type make again.\n"); - return 1; -#else - gdImagePtr im; - int blue; - int blueAlpha; - int white; - int brect[8]; - int x, y, sx, sy; - char *err; - FILE *out; -#ifdef JISX0208 - char *s = "Hello. ‚±‚ñ‚É‚¿‚Í Qyjpqg,"; /* String to draw. */ -#else - char *s = "Hello. äöü Qyjpqg,"; /* String to draw. */ -#endif - - double sz = 40.; - -#if 0 - double angle = 0.; -#else - double angle = DEG2RAD (90); -#endif - char *f; - if (argc == 2) - { - f = argv[1]; - } - else - { - /* 2.02: usage message. Defaulting to Times wasn't working well for the - many people with no /usr/share/fonts/truetype. */ - fprintf (stderr, "Usage: gdtestft fontfilename\n"); - fprintf (stderr, - "If fontfilename is not a full or relative path, GDFONTPATH is searched for\n" - "it. If GDFONTPATH is not set, /usr/share/fonts/truetype is searched.\n"); - exit (1); - } - /* obtain brect so that we can size the image */ - err = - gdImageStringFT ((gdImagePtr) NULL, &brect[0], 0, f, sz, angle, 0, 0, s); - if (err) - { - fprintf (stderr, err); - return 1; - } - - /* create an image just big enough for the string (x3) */ - sx = MAXX (brect) - MINX (brect) + 6; - sy = MAXY (brect) - MINY (brect) + 6; -#if 0 - /* Would be palette color 8-bit (which of course is still allowed, - but not impressive when used with a JPEG background and antialiasing - and alpha channel and so on!) */ - im = gdImageCreate (sx * 3, sy); -#else - /* gd 2.0: true color images can use freetype too, - and they can do antialiasing against arbitrary - complex backgrounds. */ - im = gdImageCreateTrueColor (sx * 3, sy); -#endif - /* Background color. gd 2.0: fill the image with it; truecolor - images have a black background otherwise. */ - white = gdImageColorResolve (im, 255, 255, 255); - /* Load a pretty background and resample it to cover the entire image */ - { - FILE *in = fopen ("eleanor.jpg", "rb"); - gdImagePtr imb; - if (in) - { -#ifdef HAVE_LIBJPEG - imb = gdImageCreateFromJpeg (in); -#else - fprintf (stderr, "No JPEG library support.\n"); -#endif - if (!imb) - { - fprintf (stderr, "gdImageCreateFromJpeg failed\n"); - exit (1); - } - if (!im->trueColor) - { - /* If destination is not truecolor, convert the JPEG to a - reasonably high-quality palette version. This is not as good - as creating a truecolor output file, of course. Leave many - colors for text smoothing. */ -#if 1 - gdImageTrueColorToPalette (imb, 0, 128); -#endif - } - /* Resample background image to cover new image exactly */ - gdImageCopyResampled (im, imb, 0, 0, 0, 0, sx * 3, sy, - gdImageSX (imb), gdImageSY (imb)); - } - else - { - /* Can't get background, so paint a simple one */ - /* Truecolor images start out black, so paint it white */ - gdImageFilledRectangle (im, 0, 0, sx * 3, sy, white); - } - } - /* TBB 2.0.2: only black was working, and I didn't know it because - the test program used black. Funny, huh? Let's do a more interesting - color this time. */ - blue = gdImageColorResolve (im, 128, 192, 255); - /* Almost-transparent blue (alpha blending), with antialiasing */ - blueAlpha = gdImageColorResolveAlpha (im, 128, 192, 255, gdAlphaMax / 2); - /* render the string, offset origin to center string */ - x = 0 - MINX (brect) + 3; - y = 0 - MINY (brect) + 3; - - /* With antialiasing (positive color value) */ - err = gdImageStringFT (im, NULL, blue, f, sz, angle, x, y, s); - if (err) - { - fprintf (stderr, err); - return 1; - } - /* Without antialiasing (negative color value) */ - err = gdImageStringFT (im, NULL, -blue, f, sz, angle, sx + x, y, s); - if (err) - { - fprintf (stderr, err); - return 1; - } - /* With antialiasing, and 50% alpha blending (truecolor only) */ - err = gdImageStringFT (im, NULL, blueAlpha, f, sz, angle, sx * 2 + x, y, s); - if (err) - { - fprintf (stderr, err); - return 1; - } - /* TBB: Write img to test/fttest.jpg or test/fttest.png */ - if (im->trueColor) - { - out = fopen ("test/fttest.jpg", "wb"); - if (!out) - { - fprintf (stderr, "Can't create test/fttest.jpg\n"); - exit (1); - } - /* Fairly high JPEG quality setting */ -#ifdef HAVE_LIBJPEG - gdImageJpeg (im, out, 90); -#else - fprintf (stderr, "No JPEG library support.\n"); -#endif - fclose (out); - fprintf (stderr, "Test image written to test/fttest.jpg\n"); - } - else - { - out = fopen ("test/fttest.png", "wb"); - if (!out) - { - fprintf (stderr, "Can't create test/fttest.png\n"); - exit (1); - } - /* 2.0.10: correct ifdef, thanks to Gabriele Verzeletti */ -#ifdef HAVE_LIBPNG - gdImagePng (im, out); -#else - fprintf (stderr, "No PNG library support.\n"); -#endif - fclose (out); - fprintf (stderr, "Test image written to test/fttest.png\n"); - } - /* Destroy it */ - gdImageDestroy (im); - - return 0; -#endif /* HAVE_LIBFREETYPE */ -} |