diff options
Diffstat (limited to 'tests/auto/gui/image/qimage/tst_qimage.cpp')
-rw-r--r-- | tests/auto/gui/image/qimage/tst_qimage.cpp | 38 |
1 files changed, 35 insertions, 3 deletions
diff --git a/tests/auto/gui/image/qimage/tst_qimage.cpp b/tests/auto/gui/image/qimage/tst_qimage.cpp index e9aa9aad30..71aaa23da4 100644 --- a/tests/auto/gui/image/qimage/tst_qimage.cpp +++ b/tests/auto/gui/image/qimage/tst_qimage.cpp @@ -32,7 +32,7 @@ #include <qimage.h> #include <qimagereader.h> #include <qlist.h> -#include <qmatrix.h> +#include <qtransform.h> #include <qrandom.h> #include <stdio.h> @@ -191,6 +191,8 @@ private slots: void invertPixelsRGB_data(); void invertPixelsRGB(); + void invertPixelsIndexed(); + void exifOrientation_data(); void exifOrientation(); @@ -1202,7 +1204,7 @@ void tst_QImage::rotate() // original.save("rotated90_original.png", "png"); // Initialize the matrix manually (do not use rotate) to avoid rounding errors - QMatrix matRotate90; + QTransform matRotate90; matRotate90.rotate(degrees); QImage dest = original; // And rotate it 4 times, then the image should be identical to the original @@ -1216,7 +1218,7 @@ void tst_QImage::rotate() // dest.save("rotated90_result.png","png"); QCOMPARE(original, dest); - // Test with QMatrix::rotate 90 also, since we trust that now + // Test with QTransform::rotate 90 also, since we trust that now matRotate90.rotate(degrees); dest = original; // And rotate it 4 times, then the image should be identical to the original @@ -3086,6 +3088,36 @@ void tst_QImage::invertPixelsRGB() QCOMPARE(qBlue(pixel) >> 4, (255 - 96) >> 4); } +void tst_QImage::invertPixelsIndexed() +{ + { + QImage image(1, 1, QImage::Format_Mono); + image.fill(Qt::color1); + image.invertPixels(); + QCOMPARE(image.pixelIndex(0, 0), 0); + } + { + QImage image(1, 1, QImage::Format_MonoLSB); + image.fill(Qt::color0); + image.invertPixels(); + QCOMPARE(image.pixelIndex(0, 0), 1); + } + { + QImage image(1, 1, QImage::Format_Indexed8); + image.setColorTable({0xff000000, 0xffffffff}); + image.fill(Qt::black); + image.invertPixels(); + QCOMPARE(image.pixelIndex(0, 0), 255); + } + { + QImage image(1, 1, QImage::Format_Indexed8); + image.setColorTable({0xff000000, 0xffffffff, 0x80000000, 0x80ffffff, 0x00000000}); + image.fill(Qt::white); + image.invertPixels(); + QCOMPARE(image.pixelIndex(0, 0), 254); + } +} + void tst_QImage::exifOrientation_data() { QTest::addColumn<QString>("fileName"); |