From d63c1d05e455921b1ea4e351e770316c3494ee63 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Wed, 24 Jul 2019 18:27:46 +0200 Subject: Read/write ICC profile in TIFF plugin Adds reading and writing of embedded color spaces on the TIFF plugin. Change-Id: I53e8a16ff65f7986e9d51a5b543335e27b43e346 Reviewed-by: Eirik Aavitsland --- tests/auto/tiff/tst_qtiff.cpp | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'tests') diff --git a/tests/auto/tiff/tst_qtiff.cpp b/tests/auto/tiff/tst_qtiff.cpp index a8a0ef2..61d49db 100644 --- a/tests/auto/tiff/tst_qtiff.cpp +++ b/tests/auto/tiff/tst_qtiff.cpp @@ -87,6 +87,9 @@ private slots: void readRgba64(); void readGray16(); + void colorSpace_data(); + void colorSpace(); + private: QString prefix; }; @@ -627,5 +630,41 @@ void tst_qtiff::readGray16() QCOMPARE(image.format(), QImage::Format_Grayscale16); } +void tst_qtiff::colorSpace_data() +{ + QTest::addColumn("colorspaceId"); + + QTest::newRow("Undefined") << QColorSpace::Undefined; + QTest::newRow("sRGB") << QColorSpace::SRgb; + QTest::newRow("sRGB(linear)") << QColorSpace::SRgbLinear; + QTest::newRow("AdobeRGB") << QColorSpace::AdobeRgb; + QTest::newRow("DisplayP3") << QColorSpace::DisplayP3; + QTest::newRow("ProPhotoRgb") << QColorSpace::ProPhotoRgb; +} + +void tst_qtiff::colorSpace() +{ + QFETCH(QColorSpace::ColorSpaceId, colorspaceId); + + QImage image(prefix + "colorful.bmp"); + QVERIFY(!image.isNull()); + + image.setColorSpace(colorspaceId); + + QByteArray output; + QBuffer buf(&output); + QVERIFY(buf.open(QIODevice::WriteOnly)); + QImageWriter writer(&buf, "tiff"); + writer.write(image); + buf.close(); + + QVERIFY(buf.open(QIODevice::ReadOnly)); + QImageReader reader(&buf); + QImage image2 = reader.read(); + + QCOMPARE(image2.colorSpace(), QColorSpace(colorspaceId)); + QCOMPARE(image2, image); +} + QTEST_MAIN(tst_qtiff) #include "tst_qtiff.moc" -- cgit v1.2.1 From 44000c87d352e4f88b7eea3d441a807b755698d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Thu, 5 Sep 2019 10:44:56 +0200 Subject: Fix build after QColorSpace API changes Change-Id: Iff3186cf4eccae5fc7e7e3c55c5e6eb662be9519 Reviewed-by: Allan Sandfeld Jensen --- tests/auto/tiff/tst_qtiff.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'tests') diff --git a/tests/auto/tiff/tst_qtiff.cpp b/tests/auto/tiff/tst_qtiff.cpp index 61d49db..be02460 100644 --- a/tests/auto/tiff/tst_qtiff.cpp +++ b/tests/auto/tiff/tst_qtiff.cpp @@ -632,9 +632,8 @@ void tst_qtiff::readGray16() void tst_qtiff::colorSpace_data() { - QTest::addColumn("colorspaceId"); + QTest::addColumn("namedColorSpace"); - QTest::newRow("Undefined") << QColorSpace::Undefined; QTest::newRow("sRGB") << QColorSpace::SRgb; QTest::newRow("sRGB(linear)") << QColorSpace::SRgbLinear; QTest::newRow("AdobeRGB") << QColorSpace::AdobeRgb; @@ -644,12 +643,12 @@ void tst_qtiff::colorSpace_data() void tst_qtiff::colorSpace() { - QFETCH(QColorSpace::ColorSpaceId, colorspaceId); + QFETCH(decltype(QColorSpace::SRgb), namedColorSpace); QImage image(prefix + "colorful.bmp"); QVERIFY(!image.isNull()); - image.setColorSpace(colorspaceId); + image.setColorSpace(namedColorSpace); QByteArray output; QBuffer buf(&output); @@ -662,7 +661,7 @@ void tst_qtiff::colorSpace() QImageReader reader(&buf); QImage image2 = reader.read(); - QCOMPARE(image2.colorSpace(), QColorSpace(colorspaceId)); + QCOMPARE(image2.colorSpace(), namedColorSpace); QCOMPARE(image2, image); } -- cgit v1.2.1