cvs: gd /libgd/src annotate.c
[email protected] ("Mattias Bengtsson") Sat, 22 Dec 2007 08:33:04 -0000
| Newsgroups | php.gd.cvs |
|---|---|
| Message-ID | <cvsmattias1198312384@cvsserver> |
mattias Sat Dec 22 08:33:04 2007 UTC
Modified files:
/gd/libgd/src annotate.c
Log:
- ws + cs
mattias-20071222083304.txt
(text/plain, 9 KB)
http://cvs.php.net/viewvc.cgi/gd/libgd/src/annotate.c?r1=1.5&r2=1.6&diff_format=u
Index: gd/libgd/src/annotate.c
diff -u gd/libgd/src/annotate.c:1.5 gd/libgd/src/annotate.c:1.6
--- gd/libgd/src/annotate.c:1.5 Wed Apr 5 15:52:21 2006
+++ gd/libgd/src/annotate.c Sat Dec 22 08:33:04 2007
@@ -1,5 +1,5 @@
#ifdef HAVE_CONFIG_H
-#include "config.h"
+# include "config.h"
#endif
#include <stdio.h>
@@ -8,204 +8,196 @@
#include "gd.h"
/* A neat little utility which adds freetype text to
- existing JPEG images. Type annotate -h for instructions.
- Thanks to Joel Dubiner for supporting this work. -TBB */
+ * existing JPEG images. Type annotate -h for instructions.
+ * Thanks to Joel Dubiner for supporting this work. -TBB
+ */
-enum
-{
- left, center, right
-};
+enum { left, center, right };
-int
-main (int argc, char *argv[])
+int main(int argc, char *argv[])
{
#ifndef HAVE_LIBFREETYPE
- /* 2.0.12 */
- fprintf (stderr, "annotate is not useful without freetype.\n"
- "Install freetype, then './configure; make clean; make install'\n"
- "the gd library again.\n");
- return 1;
+ /* 2.0.12 */
+ fprintf (stderr, "annotate is not useful without freetype.\n"
+ "Install freetype, then './configure; make clean; make install'\n"
+ "the gd library again.\n"
+ );
+ return 1;
#else
- gdImagePtr im;
- char *iin, *iout;
- FILE *in, *out;
- char s[1024];
- int bounds[8];
- int lines = 1;
- int color = gdTrueColor (0, 0, 0);
- char font[1024];
- int size = 12;
- int align = left;
- int x = 0, y = 0;
- char *fontError;
- strcpy (font, "times");
- if (argc != 3)
- {
- fprintf (stderr, "Usage: annotate imagein.jpg imageout.jpg\n\n");
- fprintf (stderr, "Standard input should consist of\n");
- fprintf (stderr, "lines in the following formats:\n");
- fprintf (stderr, "color r g b (0-255 each) [a (0-127, 0 is opaque)]\n");
- fprintf (stderr, "font fontname\n");
- fprintf (stderr, "size pointsize\n");
- fprintf (stderr, "align (left|right|center)\n");
- fprintf (stderr, "move x y\n");
- fprintf (stderr, "text actual-output-text\n\n");
- fprintf (stderr,
- "If the file 'paris.ttf' exists in /usr/share/fonts/truetype or in a\n");
- fprintf (stderr,
- "location specified in the GDFONTPATH environment variable, 'font paris' is\n");
- fprintf (stderr,
- "sufficient. You may also specify the full, rooted path of a font file.\n");
- exit (1);
- }
- iin = argv[1];
- iout = argv[2];
- in = fopen (iin, "rb");
- if (!in)
- {
- fprintf (stderr, "Couldn't open %s\n", iin);
- exit (2);
- }
+ gdImagePtr im;
+ char *iin, *iout;
+ FILE *in, *out;
+ char s[1024];
+ int bounds[8];
+ int lines = 1;
+ int color = gdTrueColor(0, 0, 0);
+ char font[1024];
+ int size = 12;
+ int align = left;
+ int x = 0, y = 0;
+ char *fontError;
+
+ strcpy(font, "times");
+
+ if(argc != 3) {
+ fprintf(stderr, "Usage: annotate imagein.jpg imageout.jpg\n\n");
+ fprintf(stderr, "Standard input should consist of\n");
+ fprintf(stderr, "lines in the following formats:\n");
+ fprintf(stderr, "color r g b (0-255 each) [a (0-127, 0 is opaque)]\n");
+ fprintf(stderr, "font fontname\n");
+ fprintf(stderr, "size pointsize\n");
+ fprintf(stderr, "align (left|right|center)\n");
+ fprintf(stderr, "move x y\n");
+ fprintf(stderr, "text actual-output-text\n\n");
+ fprintf(stderr,
+ "If the file 'paris.ttf' exists in /usr/share/fonts/truetype or in a\n");
+ fprintf(stderr,
+ "location specified in the GDFONTPATH environment variable, 'font paris' is\n");
+ fprintf(stderr,
+ "sufficient. You may also specify the full, rooted path of a font file.\n");
+ exit(1);
+ }
+
+ iin = argv[1];
+ iout = argv[2];
+
+ in = fopen(iin, "rb");
+ if(!in) {
+ fprintf(stderr, "Couldn't open %s\n", iin);
+ exit(2);
+ }
+
#ifdef HAVE_LIBJPEG
- im = gdImageCreateFromJpeg (in);
+ im = gdImageCreateFromJpeg(in);
#else
- fprintf (stderr, "No JPEG library support available.\n");
+ fprintf(stderr, "No JPEG library support available.\n");
#endif
- fclose (in);
- if (!im)
- {
- fprintf (stderr, "%s did not load properly\n", iin);
- exit (3);
- }
- while (fgets (s, sizeof (s), stdin))
- {
- char *st;
- char *text;
- st = strtok (s, " \t\r\n");
- if (!st)
- {
- /* Be nice about blank lines */
- continue;
- }
- if (!strcmp (st, "font"))
- {
- char *st = strtok (0, " \t\r\n");
- if (!st)
- {
- goto badLine;
- }
- strcpy (font, st);
- }
- else if (!strcmp (st, "align"))
- {
- char *st = strtok (0, " \t\r\n");
- if (!st)
- {
- goto badLine;
- }
- if (!strcmp (st, "left"))
- {
- align = 0;
- }
- else if (!strcmp (st, "center"))
- {
- align = 1;
- }
- else if (!strcmp (st, "right"))
- {
- align = 2;
- }
- }
- else if (!strcmp (st, "size"))
- {
- char *st = strtok (0, " \t\r\n");
- if (!st)
- {
- goto badLine;
- }
- size = atoi (st);
- }
- else if (!strcmp (st, "color"))
- {
- char *st = strtok (0, "\r\n");
- int r, g, b, a = 0;
- if (!st)
- {
- goto badLine;
- }
- if (sscanf (st, "%d %d %d %d", &r, &g, &b, &a) < 3)
- {
- fprintf (stderr, "Bad color at line %d\n", lines);
- exit (2);
- }
- color = gdTrueColorAlpha (r, g, b, a);
- }
- else if (!strcmp (st, "move"))
- {
- char *st = strtok (0, "\r\n");
- if (!st)
- {
- goto badLine;
- }
- if (sscanf (st, "%d %d", &x, &y) != 2)
- {
- fprintf (stderr, "Missing coordinates at line %d\n", lines);
- exit (3);
- }
+
+ fclose(in);
+
+ if(!im) {
+ fprintf(stderr, "%s did not load properly\n", iin);
+ exit(3);
}
- else if (!strcmp (st, "text"))
- {
- int rx = x;
- text = strtok (0, "\r\n");
- if (!text)
- {
- text = "";
- }
- gdImageStringFT (0, bounds, color, font, size, 0, x, y, text);
- switch (align)
- {
- case left:
- break;
- case center:
- rx -= (bounds[2] - bounds[0]) / 2;
- break;
- case right:
- rx -= (bounds[2] - bounds[0]);
- break;
- }
- fontError = gdImageStringFT (im, 0, color, font,
- size, 0, rx, y, text);
- if (fontError)
- {
- fprintf (stderr, "font error at line %d: %s\n", lines,
- fontError);
- exit (7);
- }
- y -= (bounds[7] - bounds[1]);
+
+ while(fgets(s, sizeof(s), stdin)) {
+ char *st;
+ char *text;
+
+ st = strtok(s, " \t\r\n");
+ if(!st) {
+ /* Be nice about blank lines */
+ continue;
+ }
+
+ if(!strcmp(st, "font")) {
+ char *st = strtok(0, " \t\r\n");
+ if(!st) {
+ goto badLine;
+ }
+
+ strcpy(font, st);
+ } else if(!strcmp(st, "align")) {
+ char *st = strtok(0, " \t\r\n");
+
+ if(!st) {
+ goto badLine;
+ }
+
+ if(!strcmp(st, "left")) {
+ align = 0;
+ } else if(!strcmp(st, "center")) {
+ align = 1;
+ } else if(!strcmp(st, "right")) {
+ align = 2;
+ }
+ } else if(!strcmp(st, "size")) {
+ char *st = strtok(0, " \t\r\n");
+
+ if(!st) {
+ goto badLine;
+ }
+
+ size = atoi(st);
+ } else if(!strcmp(st, "color")) {
+ char *st = strtok(0, "\r\n");
+ int r, g, b, a = 0;
+
+ if(!st) {
+ goto badLine;
+ }
+
+ if(sscanf(st, "%d %d %d %d", &r, &g, &b, &a) < 3) {
+ fprintf(stderr, "Bad color at line %d\n", lines);
+ exit(2);
+ }
+
+ color = gdTrueColorAlpha(r, g, b, a);
+ } else if(!strcmp(st, "move")) {
+ char *st = strtok(0, "\r\n");
+
+ if(!st) {
+ goto badLine;
+ }
+
+ if(sscanf(st, "%d %d", &x, &y) != 2) {
+ fprintf(stderr, "Missing coordinates at line %d\n", lines);
+ exit(3);
+ }
+ } else if(!strcmp(st, "text")) {
+ int rx = x;
+
+ text = strtok(0, "\r\n");
+ if(!text) {
+ text = "";
+ }
+
+ gdImageStringFT(0, bounds, color, font, size, 0, x, y, text);
+
+ switch(align) {
+ case left:
+ break;
+
+ case center:
+ rx -= (bounds[2] - bounds[0]) / 2;
+ break;
+
+ case right:
+ rx -= (bounds[2] - bounds[0]);
+ break;
+ }
+
+ fontError = gdImageStringFT(im, 0, color, font, size, 0, rx, y, text);
+ if(fontError) {
+ fprintf(stderr, "font error at line %d: %s\n", lines, fontError);
+ exit(7);
+ }
+
+ y -= (bounds[7] - bounds[1]);
+ } else {
+ goto badLine;
+ }
+
+ lines++;
+ continue;
+
+badLine:
+ fprintf(stderr, "Bad syntax, line %d\n", lines);
+ exit(4);
}
- else
- {
- goto badLine;
+
+ out = fopen(iout, "wb");
+ if(!out) {
+ fprintf(stderr, "Cannot create %s\n", iout);
+ exit(5);
}
- lines++;
- continue;
- badLine:
- fprintf (stderr, "Bad syntax, line %d\n", lines);
- exit (4);
- }
- out = fopen (iout, "wb");
- if (!out)
- {
- fprintf (stderr, "Cannot create %s\n", iout);
- exit (5);
- }
#ifdef HAVE_LIBJPEG
- gdImageJpeg (im, out, 95);
+ gdImageJpeg(im, out, 95);
#else
- fprintf (stderr, "No JPEG library support available.\n");
+ fprintf(stderr, "No JPEG library support available.\n");
#endif
- gdImageDestroy (im);
- fclose (out);
- return 0;
+ gdImageDestroy(im);
+ fclose(out);
+ return 0;
#endif /* HAVE_LIBFREETYPE */
}