5unlink (
const char *filename)
7 return _unlink (filename);
20main (
int argc,
char **argv)
35 fprintf (stderr,
"Usage: gdtest filename.png\n");
38 in =
fopen (argv[1],
"rb");
41 fprintf (stderr,
"Input file does not exist!\n");
59 snprintf (of,
sizeof(of),
"%s.png", argv[1]);
64 in =
fopen (of,
"rb");
67 fprintf (stderr,
"PNG Output file does not exist!\n");
91 snprintf (of,
sizeof(of),
"%s.gd2", argv[1]);
96 in =
fopen (of,
"rb");
99 fprintf (stderr,
"GD2 Output file does not exist!\n");
126 snprintf (of,
sizeof(of),
"%s.gd", argv[1]);
131 in =
fopen (of,
"rb");
134 fprintf (stderr,
"GD Output file does not exist!\n");
161 in =
fopen (argv[1],
"rb");
163 imgsrc.
source = freadWrapper;
170 printf (
"GD Source: ERROR Null returned by gdImageCreateFromPngSource\n");
183 snprintf (of,
sizeof(of),
"%s.snk", argv[1]);
185 imgsnk.
sink = fwriteWrapper;
189 in =
fopen (of,
"rb");
192 fprintf (stderr,
"GD Sink: ERROR - GD Sink Output file does not exist!\n");
208 in =
fopen (
"test/gdtest_200_300_150_100.png",
"rb");
211 fprintf (stderr,
"gdtest_200_300_150_100.png does not exist!\n");
218 in =
fopen (
"test/gdtest.gd2",
"rb");
221 fprintf (stderr,
"gdtest.gd2 does not exist!\n");
227 CompareImages (
"GD2Part (gdtest_200_300_150_100.png, gdtest.gd2(part))", im2, im3);
235 in =
fopen (
"test/gdtest.png",
"rb");
238 fprintf (stderr,
"gdtest.png does not exist!\n");
258 in =
fopen (
"test/gdtest_merge.png",
"rb");
261 fprintf (stderr,
"gdtest_merge.png does not exist!\n");
268 CompareImages (
"Merged (gdtest.png, gdtest_merge.png)", im2, im3);
274 out =
fopen (
"test/gdtest.jpg",
"wb");
277 fprintf (stderr,
"Can't create file test/gdtest.jpg.\n");
282 in =
fopen (
"test/gdtest.jpg",
"rb");
285 fprintf (stderr,
"Can't open file test/gdtest.jpg.\n");
292 fprintf (stderr,
"gdImageCreateFromJpeg failed.\n");
296 printf (
"Created test/gdtest.jpg successfully. Compare this image\n"
297 "to the input image manually. Some difference must be\n"
298 "expected as JPEG is a lossy file format.\n");
302 fprintf (stderr,
"NOTE: the WBMP output image will NOT match the original unless the original\n"
303 "is also black and white. This is OK!\n");
305 fprintf (stderr,
"Foreground index is %d\n", foreground);
306 if (foreground == -1)
308 fprintf (stderr,
"Source image has no colors, skipping wbmp test.\n");
312 out =
fopen (
"test/gdtest.wbmp",
"wb");
315 fprintf (stderr,
"Can't create file test/gdtest.wbmp.\n");
320 in =
fopen (
"test/gdtest.wbmp",
"rb");
323 fprintf (stderr,
"Can't open file test/gdtest.wbmp.\n");
328 fprintf (stderr,
"WBMP colors are:\n");
331 fprintf (stderr,
"%02X%02X%02X\n",
339 fprintf (stderr,
"gdImageCreateFromWBMP failed.\n");
342 CompareImages (
"WBMP test (gdtest.png, gdtest.wbmp)", ref, im2);
343 out =
fopen (
"test/gdtest_wbmp_to_png.png",
"wb");
346 fprintf (stderr,
"Can't create file test/gdtest_wbmp_to_png.png.\n");
368 printf (
"%%%s: ERROR images differ: BAD\n",
msg);
370 else if (cmpRes != 0)
372 printf (
"%%%s: WARNING images differ: WARNING - Probably OK\n",
msg);
382 printf (
"-%s: INFO image sizes differ\n",
msg);
387 printf (
"-%s: INFO number of palette entries differ %d Vs. %d\n",
msg,
393 printf (
"-%s: INFO actual colours of pixels differ\n",
msg);
unlink(string $filename, $context=null)
fprintf($stream, string $format, mixed ... $values)
printf(string $format, mixed ... $values)
fwrite($stream, string $data, ?int $length=null)
fopen(string $filename, string $mode, bool $use_include_path=false, $context=null)
fread($stream, int $length)
zend_ffi_ctype_name_buf buf
#define gdImageBlue(im, c)
void * gdImagePngPtr(gdImagePtr im, int *size)
gdImagePtr gdImageCreateFromPngCtx(gdIOCtxPtr in)
gdImagePtr gdImageCreateFromGd2Ctx(gdIOCtxPtr in)
void * gdImageGdPtr(gdImagePtr im, int *size)
gdImagePtr gdImageCreateFromGd2Part(FILE *in, int srcx, int srcy, int w, int h)
void gdImagePng(gdImagePtr im, FILE *out)
gdImagePtr gdImageCreateFromJpeg(FILE *infile)
void gdImageGd(gdImagePtr im, FILE *out)
#define GD_CMP_NUM_COLORS
#define gdImageColorsTotal(im)
gdImagePtr gdImageCreateFromPngSource(gdSourcePtr in)
gdImagePtr gdImageCreateFromWBMP(FILE *inFile)
void gdImageJpeg(gdImagePtr im, FILE *out, int quality)
#define gdImageGreen(im, c)
void gdImageWBMP(gdImagePtr image, int fg, FILE *out)
gdIOCtx * gdNewDynamicCtx(int, void *)
gdImagePtr gdImageCreateFromGdCtx(gdIOCtxPtr in)
gdImagePtr gdImageCreateFromGd(FILE *in)
void gdImageGd2(gdImagePtr im, FILE *out, int cs, int fmt)
void * gdImageGd2Ptr(gdImagePtr im, int cs, int fmt, int *size)
gdImagePtr gdImageCreateFromGd2(FILE *in)
gdImagePtr gdImageCreateFromPng(FILE *fd)
#define gdImageRed(im, c)
void gdImagePngToSink(gdImagePtr im, gdSinkPtr out)
struct gdIOCtx * gdIOCtxPtr
void CompareImages(char *msg, gdImagePtr im1, gdImagePtr im2)
gdImagePtr gdImageCreate(int sx, int sy)
void gdImageFilledRectangle(gdImagePtr im, int x1, int y1, int x2, int y2, int color)
void gdImageDestroy(gdImagePtr im)
int gdImageColorClosest(gdImagePtr im, int r, int g, int b)
int gdImageColorAllocate(gdImagePtr im, int r, int g, int b)
void gdImageCopyMerge(gdImagePtr dst, gdImagePtr src, int dstX, int dstY, int srcX, int srcY, int w, int h, int pct)
void gdImageCopyMergeGray(gdImagePtr dst, gdImagePtr src, int dstX, int dstY, int srcX, int srcY, int w, int h, int pct)
int gdImageCompare(gdImagePtr im1, gdImagePtr im2)
void(* gd_free)(struct gdIOCtx *)
int(* sink)(void *context, const char *buffer, int len)
int(* source)(void *context, char *buffer, int len)
exit(string|int $status=0)