summaryrefslogtreecommitdiff
path: root/ext/gd/libgd/gd2time.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/gd/libgd/gd2time.c')
-rw-r--r--ext/gd/libgd/gd2time.c60
1 files changed, 60 insertions, 0 deletions
diff --git a/ext/gd/libgd/gd2time.c b/ext/gd/libgd/gd2time.c
new file mode 100644
index 0000000..18e6c0c
--- /dev/null
+++ b/ext/gd/libgd/gd2time.c
@@ -0,0 +1,60 @@
+
+#include <stdio.h>
+#include <stdlib.h> /* for atoi */
+#include <time.h> /* For time */
+#include "gd.h"
+
+/* A short program which converts a .png file into a .gd file, for
+ your convenience in creating images on the fly from a
+ basis image that must be loaded quickly. The .gd format
+ is not intended to be a general-purpose format. */
+
+int
+main (int argc, char **argv)
+{
+ gdImagePtr im;
+ FILE *in;
+ int x, y, w, h;
+ int c;
+ int i;
+ int t0;
+
+ if (argc != 7)
+ {
+ fprintf (stderr, "Usage: gd2time filename.gd count x y w h\n");
+ exit (1);
+ }
+
+ c = atoi (argv[2]);
+ x = atoi (argv[3]);
+ y = atoi (argv[4]);
+ w = atoi (argv[5]);
+ h = atoi (argv[6]);
+
+ printf ("Extracting %d times from (%d, %d), size is %dx%d\n", c, x, y, w, h);
+
+ t0 = time (0);
+ for (i = 0; i < c; i++)
+ {
+ in = fopen (argv[1], "rb");
+ if (!in)
+ {
+ fprintf (stderr, "Input file does not exist!\n");
+ exit (1);
+ }
+
+ im = gdImageCreateFromGd2Part (in, x, y, w, h);
+ fclose (in);
+
+ if (!im)
+ {
+ fprintf (stderr, "Error reading source file!\n");
+ exit (1);
+ }
+ gdImageDestroy (im);
+ };
+ t0 = time (0) - t0;
+ printf ("%d seconds to extract (& destroy) %d times\n", t0, c);
+
+ return 0;
+}