summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2018-06-21 16:52:41 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2018-08-23 11:54:53 +0000
commit2842212e88afb200a0fcfda7d306c4e8eee26407 (patch)
tree8d4429850d803f6af7be7312dc1f9d91dffaedc0 /tests
parent6a039e4e77cef7d590c973c27c03a4576d6f5362 (diff)
Add RGBA64 format support to TIFF plugin
TIFF is one of the primary formats for HDR images. Change-Id: I5310b5c9a625fd3e759e5120be6ba547c633c81c Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/tiff/tst_qtiff.cpp17
-rw-r--r--tests/shared/images/tiff.qrc1
-rw-r--r--tests/shared/images/tiff/16bpc.tiffbin0 -> 21414 bytes
3 files changed, 18 insertions, 0 deletions
diff --git a/tests/auto/tiff/tst_qtiff.cpp b/tests/auto/tiff/tst_qtiff.cpp
index 1a96ab3..9c815d5 100644
--- a/tests/auto/tiff/tst_qtiff.cpp
+++ b/tests/auto/tiff/tst_qtiff.cpp
@@ -84,6 +84,8 @@ private slots:
void tiled_data();
void tiled();
+ void readRgba64();
+
private:
QString prefix;
};
@@ -165,6 +167,7 @@ void tst_qtiff::readImage_data()
QTest::newRow("tiled_mono") << QString("tiled_mono.tiff") << QSize(64, 64);
QTest::newRow("tiled_oddsize_grayscale") << QString("tiled_oddsize_grayscale.tiff") << QSize(59, 71);
QTest::newRow("tiled_oddsize_mono") << QString("tiled_oddsize_mono.tiff") << QSize(59, 71);
+ QTest::newRow("16bpc") << QString("16bpc.tiff") << QSize(64, 46);
}
void tst_qtiff::readImage()
@@ -384,6 +387,9 @@ void tst_qtiff::readWriteNonDestructive_data()
QTest::newRow("tiff argb32pm") << QImage::Format_ARGB32_Premultiplied << QImage::Format_ARGB32_Premultiplied << QImageIOHandler::TransformationRotate90;
QTest::newRow("tiff rgb32") << QImage::Format_RGB32 << QImage::Format_RGB32 << QImageIOHandler::TransformationRotate270;
QTest::newRow("tiff grayscale") << QImage::Format_Grayscale8 << QImage::Format_Grayscale8 << QImageIOHandler::TransformationFlip;
+ QTest::newRow("tiff rgb64") << QImage::Format_RGBX64 << QImage::Format_RGBX64 << QImageIOHandler::TransformationNone;
+ QTest::newRow("tiff rgba64") << QImage::Format_RGBA64 << QImage::Format_RGBA64 << QImageIOHandler::TransformationRotate90;
+ QTest::newRow("tiff rgba64pm") << QImage::Format_RGBA64_Premultiplied << QImage::Format_RGBA64_Premultiplied << QImageIOHandler::TransformationNone;
}
void tst_qtiff::readWriteNonDestructive()
@@ -592,5 +598,16 @@ void tst_qtiff::tiled()
QCOMPARE(expectedImage, tiledImage);
}
+void tst_qtiff::readRgba64()
+{
+ QString path = prefix + QString("16bpc.tiff");
+ QImageReader reader(path);
+ QVERIFY(reader.canRead());
+ QCOMPARE(reader.imageFormat(), QImage::Format_RGBX64);
+ QImage image = reader.read();
+ QVERIFY(!image.isNull());
+ QCOMPARE(image.format(), QImage::Format_RGBX64);
+}
+
QTEST_MAIN(tst_qtiff)
#include "tst_qtiff.moc"
diff --git a/tests/shared/images/tiff.qrc b/tests/shared/images/tiff.qrc
index 19675ba..91bbf93 100644
--- a/tests/shared/images/tiff.qrc
+++ b/tests/shared/images/tiff.qrc
@@ -1,5 +1,6 @@
<RCC>
<qresource prefix="/">
+ <file>tiff/16bpc.tiff</file>
<file>tiff/corrupt-data.tif</file>
<file>tiff/grayscale-ref.tif</file>
<file>tiff/grayscale.tif</file>
diff --git a/tests/shared/images/tiff/16bpc.tiff b/tests/shared/images/tiff/16bpc.tiff
new file mode 100644
index 0000000..b1ecf26
--- /dev/null
+++ b/tests/shared/images/tiff/16bpc.tiff
Binary files differ