diff options
author | tabe <none@none> | 2008-11-23 14:32:35 +0000 |
---|---|---|
committer | tabe <none@none> | 2008-11-23 14:32:35 +0000 |
commit | b14559beb715a5acfffff3adfd2d55501944efa1 (patch) | |
tree | 773cdbf34ce10a3ef9098b9b2bfb346eba6d053e /tests | |
parent | 2b567ef37e945e985a8d24f02997b736463bcb96 (diff) | |
download | libgd-b14559beb715a5acfffff3adfd2d55501944efa1.tar.gz |
added gdImageColorReplaceThreshold. (see FS#170)
- added gd_color.[ch] for internal use
Diffstat (limited to 'tests')
-rw-r--r-- | tests/gdimagecolorreplace/gdimagecolorreplace.c | 48 |
1 files changed, 45 insertions, 3 deletions
diff --git a/tests/gdimagecolorreplace/gdimagecolorreplace.c b/tests/gdimagecolorreplace/gdimagecolorreplace.c index 591d259..02ae9ab 100644 --- a/tests/gdimagecolorreplace/gdimagecolorreplace.c +++ b/tests/gdimagecolorreplace/gdimagecolorreplace.c @@ -19,16 +19,40 @@ static int callback(gdImagePtr im, int src) static void run_tests(gdImagePtr im, int *error) { - int white, black, c, d; + int black, \ + white, \ + cosmic_latte, \ + cream, \ + ivory, \ + magnolia, \ + old_lace, \ + seashell, \ + yellow, \ + red, \ + c, d; int src[2], dst[2]; int n; +#define COLOR(name, r, g, b) name = gdImageColorAllocateAlpha(im, r, g, b, gdAlphaOpaque) + COLOR(black, 0, 0, 0); + COLOR(white, 0xFF, 0xFF, 0xFF); + COLOR(cosmic_latte, 0xFF, 0xF8, 0xE7); + COLOR(cream, 0xFF, 0xFD, 0xD0); + COLOR(ivory, 0xFF, 0xFF, 0xF0); + COLOR(magnolia, 0xF8, 0xF4, 0xFF); + COLOR(old_lace, 0xFD, 0xF5, 0xE6); + COLOR(seashell, 0xFF, 0xF5, 0xEE); + COLOR(yellow, 0xFF, 0xFF, 0); + COLOR(red, 0xFF, 0, 0); +#undef COLOR + #define CHECK_VALUE(n, expected) do { \ if (gdTestAssert((n) == (expected)) != 1) { \ printf("%d is expected, but %d\n", expected, n); \ *error = -1; \ } \ } while (0) + #define CHECK_PIXEL(x, y, expected) do { \ gdImageSetClip(im, 0, 0, 4, 4); \ c = gdImageGetPixel(im, (x), (y)); \ @@ -38,8 +62,6 @@ static void run_tests(gdImagePtr im, int *error) } \ } while (0) - white = gdImageColorAllocate(im, 0xFF, 0xFF, 0xFF); - black = gdImageColorAllocate(im, 0, 0, 0); c = gdImageColorAllocate(im, 0xFF, 0, 0xFF); gdImageFilledRectangle(im, 0, 0, 4, 4, white); gdImageFilledRectangle(im, 0, 0, 3, 3, black); @@ -85,6 +107,26 @@ static void run_tests(gdImagePtr im, int *error) CHECK_PIXEL(2, 3, d); CHECK_PIXEL(4, 4, d); +#define INITIALIZE_IMAGE() \ + gdImageSetClip(im, 0, 0, 4, 4); \ + gdImageFilledRectangle(im, 0, 0, 4, 4, black); \ + gdImageFilledRectangle(im, 1, 1, 3, 3, white); \ + gdImageSetPixel(im, 1, 1, cosmic_latte); \ + gdImageSetPixel(im, 1, 2, cream); \ + gdImageSetPixel(im, 2, 1, ivory); \ + gdImageSetPixel(im, 2, 2, magnolia); \ + gdImageSetPixel(im, 3, 1, old_lace); \ + gdImageSetPixel(im, 3, 2, seashell) + + INITIALIZE_IMAGE(); + n = gdImageColorReplaceThreshold(im, white, yellow, 2.0); + CHECK_VALUE(n, 9); + CHECK_PIXEL(0, 0, black); + CHECK_PIXEL(1, 1, yellow); + CHECK_PIXEL(2, 2, yellow); + CHECK_PIXEL(3, 3, yellow); + +#undef INITIALIZE_IMAGE #undef CHECK_VALUE #undef CHECK_PIXEL } |