summaryrefslogtreecommitdiffstats
path: root/tests/auto/gui/image/qimage/tst_qimage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/gui/image/qimage/tst_qimage.cpp')
-rw-r--r--tests/auto/gui/image/qimage/tst_qimage.cpp38
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");