diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-07-19 11:30:29 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-07-23 23:37:37 +0200 |
commit | 733ca2230c283cdfaae424eac481ddc33593f44f (patch) | |
tree | 235d10076fd80c4d1659f2b951e5b203bfe4e2b4 /tests/auto/gui | |
parent | b6f7efba4831c411456400e2df87df99877f67ae (diff) |
Fix comparisons of image with different color spaces
Take color space into account when comparing images, and fix gamma
comparison that was trying to be too accurate.
Change-Id: I3674653abb21b66aaacb557addc4afb4ee75cfdd
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
Diffstat (limited to 'tests/auto/gui')
-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 441ec17412..e007a15419 100644 --- a/tests/auto/gui/image/qimage/tst_qimage.cpp +++ b/tests/auto/gui/image/qimage/tst_qimage.cpp @@ -232,6 +232,8 @@ private slots: void wideImage(); + void colorspaceEquality(); + #if defined(Q_OS_WIN) && !defined(Q_OS_WINRT) void toWinHBITMAP_data(); void toWinHBITMAP(); @@ -3618,6 +3620,22 @@ void tst_QImage::wideImage() // Qt6: Test that it actually works on 64bit architectures. } +void tst_QImage::colorspaceEquality() +{ + QImage image1(10, 10, QImage::Format_RGB32); + image1.fill(Qt::red); + QImage image2(image1); + QCOMPARE(image1, image2); + image1.setColorSpace(QColorSpace::SRgbLinear); + QVERIFY(image1 != image2); + image2.setColorSpace(QColorSpace::SRgbLinear); + QVERIFY(image1 == image2); + image1.setColorSpace(QColorSpace(QColorSpace::Gamut::DciP3D65, QColorSpace::TransferFunction::Gamma, 2.2f)); + QVERIFY(image1 != image2); + image2.setColorSpace(QColorSpace(QColorSpace::Gamut::DciP3D65, QColorSpace::TransferFunction::Gamma, 2.2001f)); + QVERIFY(image1 == image2); +} + #if defined(Q_OS_WIN) && !defined(Q_OS_WINRT) QT_BEGIN_NAMESPACE Q_GUI_EXPORT HBITMAP qt_imageToWinHBITMAP(const QImage &p, int hbitmapFormat = 0); |