diff options
author | Rainer Keller <rainer.keller@digia.com> | 2014-10-24 15:54:28 +0200 |
---|---|---|
committer | Rainer Keller <rainer.keller@digia.com> | 2014-10-27 10:30:02 +0100 |
commit | 9157087334186ff3ef811f2ec234a3bf5d4a4889 (patch) | |
tree | db7bee1517145b1b02d9d5295b28dd20ecb54ae1 /tests/auto/gui/image/qimage/tst_qimage.cpp | |
parent | be8f647364ad2d995ff3b370710a35c83e760806 (diff) |
Rotate images according to Exif orientation
Task-number: QTBUG-37946
Change-Id: I181f88acdff0ef76aa02e968dc6afca1ed495f38
Reviewed-by: aavit <eirik.aavitsland@digia.com>
Diffstat (limited to 'tests/auto/gui/image/qimage/tst_qimage.cpp')
-rw-r--r-- | tests/auto/gui/image/qimage/tst_qimage.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/auto/gui/image/qimage/tst_qimage.cpp b/tests/auto/gui/image/qimage/tst_qimage.cpp index 5f581c9d0f..fcee2884d9 100644 --- a/tests/auto/gui/image/qimage/tst_qimage.cpp +++ b/tests/auto/gui/image/qimage/tst_qimage.cpp @@ -173,6 +173,8 @@ private slots: void invertPixelsRGB_data(); void invertPixelsRGB(); + void exifOrientation(); + void cleanupFunctions(); private: @@ -2624,6 +2626,22 @@ void tst_QImage::invertPixelsRGB() QCOMPARE(qBlue(pixel) >> 4, (255 - 96) >> 4); } +void tst_QImage::exifOrientation() +{ + for (unsigned int i = 1; i <= 8; ++i) { + QImage img; + QRgb px; + + QVERIFY(img.load(m_prefix + QString::fromLatin1("jpeg_exif_orientation_value_%1.jpg").arg(i))); + + px = img.pixel(0, 0); + QVERIFY(qRed(px) > 250 && qGreen(px) < 5 && qBlue(px) < 5); + + px = img.pixel(img.width() - 1, 0); + QVERIFY(qRed(px) < 5 && qGreen(px) < 5 && qBlue(px) > 250); + } +} + static void cleanupFunction(void* info) { bool *called = static_cast<bool*>(info); |