From ef46f24f377619291a9810a4751d4b46307536cc Mon Sep 17 00:00:00 2001 From: Artur Wieczorek Date: Fri, 22 Jul 2016 22:40:58 +0200 Subject: [PATCH] Add test of scaling wxImage Upsampling the image with symmetrical contents to check if symmetry is preserved in rescaling. --- tests/image/cross_bicubic_256x256.png | Bin 0 -> 25951 bytes tests/image/cross_bilinear_256x256.png | Bin 0 -> 13027 bytes tests/image/cross_box_average_256x256.png | Bin 0 -> 395 bytes tests/image/cross_nearest_neighb_256x256.png | Bin 0 -> 293 bytes tests/image/image.cpp | 30 +++++++++++++++++++ 5 files changed, 30 insertions(+) create mode 100644 tests/image/cross_bicubic_256x256.png create mode 100644 tests/image/cross_bilinear_256x256.png create mode 100644 tests/image/cross_box_average_256x256.png create mode 100644 tests/image/cross_nearest_neighb_256x256.png diff --git a/tests/image/cross_bicubic_256x256.png b/tests/image/cross_bicubic_256x256.png new file mode 100644 index 0000000000000000000000000000000000000000..e7f5d407a61c4a140069ffcc950e4c7fa76647ff GIT binary patch literal 25951 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 literal 0 HcmV?d00001 diff --git a/tests/image/cross_box_average_256x256.png b/tests/image/cross_box_average_256x256.png new file mode 100644 index 0000000000000000000000000000000000000000..9564a5a798943a5e419abff7773e38e8b3d2b08f GIT binary patch literal 395 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58CaNs)Vi3hp+HI~z$e5NNHf?w*xNVQ+cVVH zH`FsQu&%7g1}Zi2ba4!+hT|k9R-?4{pp& z)?#pw;7W>E(HiyOD&s%XjsIIGs-{2Kw7AR4s^4mrM%iaskjwFaf}2~JC4urR2^*jA z&vf5?knx|n2AcX~=VZBoLJADtiuE@&ex(^S-DPBBLsitUwfwjXP>sOh4_~4_bP0l+XkKf7NBx literal 0 HcmV?d00001 diff --git a/tests/image/cross_nearest_neighb_256x256.png b/tests/image/cross_nearest_neighb_256x256.png new file mode 100644 index 0000000000000000000000000000000000000000..73a14eefc678e0301ac10eaa3c414546e809de7a GIT binary patch literal 293 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58CaNs)Vi3hp+Jg1z$e5NNHZ|}{|_R7)PLPO zcYT2Di=HlyAr*0N?{4I6RgiEC8rqQ6j_Fx q^C%|D*@tqYD0twcg2LxtiNcLpxWMnZqV(iIkf^7tpUXO@geCx$nLR}S literal 0 HcmV?d00001 diff --git a/tests/image/image.cpp b/tests/image/image.cpp index dec7c5a0c4..7d8731d911 100644 --- a/tests/image/image.cpp +++ b/tests/image/image.cpp @@ -1422,6 +1422,36 @@ void ImageTestCase::ScaleCompare() "image/horse_bilinear_150x150.png"); ASSERT_IMAGE_EQUAL_TO_FILE(original.Scale(300, 300, wxIMAGE_QUALITY_BILINEAR), "image/horse_bilinear_300x300.png"); + + // Test scaling symmetric image + const static char* cross_xpm[] = + { + "9 9 5 1", + " c None", + "r c #FF0000", + "g c #00FF00", + "b c #0000FF", + "w c #FFFFFF", + " r ", + " g ", + " b ", + " w ", + "rgbw wbgr", + " w ", + " b ", + " g ", + " r " + }; + + wxImage imgCross(cross_xpm); + ASSERT_IMAGE_EQUAL_TO_FILE(imgCross.Scale(256, 256, wxIMAGE_QUALITY_BILINEAR), + "image/cross_bilinear_256x256.png"); + ASSERT_IMAGE_EQUAL_TO_FILE(imgCross.Scale(256, 256, wxIMAGE_QUALITY_BICUBIC), + "image/cross_bicubic_256x256.png"); + ASSERT_IMAGE_EQUAL_TO_FILE(imgCross.Scale(256, 256, wxIMAGE_QUALITY_BOX_AVERAGE), + "image/cross_box_average_256x256.png"); + ASSERT_IMAGE_EQUAL_TO_FILE(imgCross.Scale(256, 256, wxIMAGE_QUALITY_NEAREST), + "image/cross_nearest_neighb_256x256.png"); } #endif //wxUSE_IMAGE