diff options
Diffstat (limited to 'tests/auto/gui/image')
-rw-r--r-- | tests/auto/gui/image/qimage/tst_qimage.cpp | 42 | ||||
-rw-r--r-- | tests/auto/gui/image/qimagereader/tst_qimagereader.cpp | 2 | ||||
-rw-r--r-- | tests/auto/gui/image/qimagewriter/tst_qimagewriter.cpp | 6 |
3 files changed, 37 insertions, 13 deletions
diff --git a/tests/auto/gui/image/qimage/tst_qimage.cpp b/tests/auto/gui/image/qimage/tst_qimage.cpp index bb81b9f61f..4d41b5e873 100644 --- a/tests/auto/gui/image/qimage/tst_qimage.cpp +++ b/tests/auto/gui/image/qimage/tst_qimage.cpp @@ -301,6 +301,8 @@ static QLatin1String formatToString(QImage::Format format) return QLatin1String("RGBA64"); case QImage::Format_RGBA64_Premultiplied: return QLatin1String("RGBA64pm"); + case QImage::Format_Grayscale16: + return QLatin1String("Grayscale16"); default: break; }; @@ -2369,8 +2371,11 @@ void tst_QImage::rgbSwapped_data() QTest::addColumn<QImage::Format>("format"); for (int i = QImage::Format_Indexed8; i < QImage::NImageFormats; ++i) { - if (i == QImage::Format_Alpha8 || i == QImage::Format_Grayscale8) + if (i == QImage::Format_Alpha8 + || i == QImage::Format_Grayscale8 + || i == QImage::Format_Grayscale16) { continue; + } QTest::addRow("%s", formatToString(QImage::Format(i)).data()) << QImage::Format(i); } } @@ -2615,8 +2620,11 @@ void tst_QImage::inplaceMirrored_data() QTest::addColumn<bool>("swap_horizontal"); for (int i = QImage::Format_Mono; i < QImage::NImageFormats; ++i) { - if (i == QImage::Format_Alpha8 || i == QImage::Format_Grayscale8) + if (i == QImage::Format_Alpha8 + || i == QImage::Format_Grayscale8 + || i == QImage::Format_Grayscale16) { continue; + } if (i == QImage::Format_RGB444 || i == QImage::Format_ARGB4444_Premultiplied) continue; const auto fmt = formatToString(QImage::Format(i)); @@ -2788,11 +2796,11 @@ void tst_QImage::genericRgbConversion_data() QTest::addColumn<QImage::Format>("dest_format"); for (int i = QImage::Format_RGB32; i < QImage::NImageFormats; ++i) { - if (i == QImage::Format_Alpha8 || i == QImage::Format_Grayscale8) + if (i == QImage::Format_Alpha8) continue; const QLatin1String formatI = formatToString(QImage::Format(i)); for (int j = QImage::Format_RGB32; j < QImage::NImageFormats; ++j) { - if (j == QImage::Format_Alpha8 || j == QImage::Format_Grayscale8) + if (j == QImage::Format_Alpha8) continue; if (i == j) continue; @@ -2808,6 +2816,9 @@ void tst_QImage::genericRgbConversion() QFETCH(QImage::Format, format); QFETCH(QImage::Format, dest_format); + bool srcGrayscale = format == QImage::Format_Grayscale8 || format == QImage::Format_Grayscale16; + bool dstGrayscale = dest_format == QImage::Format_Grayscale8 || dest_format == QImage::Format_Grayscale16; + QImage image(16, 16, format); for (int i = 0; i < image.height(); ++i) @@ -2819,8 +2830,12 @@ void tst_QImage::genericRgbConversion() for (int i = 0; i < imageConverted.height(); ++i) { for (int j = 0; j < imageConverted.width(); ++j) { QRgb convertedColor = imageConverted.pixel(j,i); - QCOMPARE(qRed(convertedColor) & 0xF0, j * 16); - QCOMPARE(qGreen(convertedColor) & 0xF0, i * 16); + if (srcGrayscale || dstGrayscale) { + QVERIFY(qAbs(qGray(convertedColor) - qGray(qRgb(j*16, i*16, 0))) < 15); + } else { + QCOMPARE(qRed(convertedColor) & 0xF0, j * 16); + QCOMPARE(qGreen(convertedColor) & 0xF0, i * 16); + } } } } @@ -2831,11 +2846,17 @@ void tst_QImage::inplaceRgbConversion_data() QTest::addColumn<QImage::Format>("dest_format"); for (int i = QImage::Format_RGB32; i < QImage::NImageFormats; ++i) { - if (i == QImage::Format_Alpha8 || i == QImage::Format_Grayscale8) + if (i == QImage::Format_Alpha8 + || i == QImage::Format_Grayscale8 + || i == QImage::Format_Grayscale16) { continue; + } for (int j = QImage::Format_RGB32; j < QImage::NImageFormats; ++j) { - if (j == QImage::Format_Alpha8 || j == QImage::Format_Grayscale8) + if (j == QImage::Format_Alpha8 + || j == QImage::Format_Grayscale8 + || j == QImage::Format_Grayscale16) { continue; + } if (i == j) continue; QTest::addRow("%s -> %s", formatToString(QImage::Format(i)).data(), formatToString(QImage::Format(j)).data()) @@ -3005,8 +3026,11 @@ void tst_QImage::invertPixelsRGB_data() QTest::addColumn<QImage::Format>("image_format"); for (int i = QImage::Format_RGB32; i < QImage::NImageFormats; ++i) { - if (i == QImage::Format_Alpha8 || i == QImage::Format_Grayscale8) + if (i == QImage::Format_Alpha8 + || i == QImage::Format_Grayscale8 + || i == QImage::Format_Grayscale16) { continue; + } QTest::addRow("%s", formatToString(QImage::Format(i)).data()) << QImage::Format(i); } } diff --git a/tests/auto/gui/image/qimagereader/tst_qimagereader.cpp b/tests/auto/gui/image/qimagereader/tst_qimagereader.cpp index c2ec5b8925..1cf01133b2 100644 --- a/tests/auto/gui/image/qimagereader/tst_qimagereader.cpp +++ b/tests/auto/gui/image/qimagereader/tst_qimagereader.cpp @@ -525,7 +525,7 @@ void tst_QImageReader::imageFormat_data() QTest::newRow("png") << QString("kollada.png") << QByteArray("png") << QImage::Format_ARGB32; QTest::newRow("png-2") << QString("YCbCr_cmyk.png") << QByteArray("png") << QImage::Format_RGB32; QTest::newRow("png-3") << QString("kollada-16bpc.png") << QByteArray("png") << QImage::Format_RGBA64; - QTest::newRow("png-4") << QString("basn0g16.png") << QByteArray("png") << QImage::Format_RGBX64; // Grayscale16 + QTest::newRow("png-4") << QString("basn0g16.png") << QByteArray("png") << QImage::Format_Grayscale16; QTest::newRow("png-5") << QString("basn2c16.png") << QByteArray("png") << QImage::Format_RGBX64; QTest::newRow("png-6") << QString("basn4a16.png") << QByteArray("png") << QImage::Format_RGBA64; // Grayscale16Alpha16 QTest::newRow("png-7") << QString("basn6a16.png") << QByteArray("png") << QImage::Format_RGBA64; diff --git a/tests/auto/gui/image/qimagewriter/tst_qimagewriter.cpp b/tests/auto/gui/image/qimagewriter/tst_qimagewriter.cpp index 77851cd7d0..aaa8475c74 100644 --- a/tests/auto/gui/image/qimagewriter/tst_qimagewriter.cpp +++ b/tests/auto/gui/image/qimagewriter/tst_qimagewriter.cpp @@ -239,7 +239,7 @@ void tst_QImageWriter::writeImage2_data() // QLatin1String("jpeg"), }; - QImage image0(70, 70, QImage::Format_ARGB32); + QImage image0(70, 70, QImage::Format_RGB32); image0.fill(QColor(Qt::red).rgb()); QImage::Format imgFormat = QImage::Format_Mono; @@ -304,10 +304,10 @@ void tst_QImageWriter::writeImage2() if (!equalImageContents(written, image)) { qDebug() << "image" << image.format() << image.width() << image.height() << image.depth() - << hex << image.pixel(0, 0); + << image.pixelColor(0, 0); qDebug() << "written" << written.format() << written.width() << written.height() << written.depth() - << hex << written.pixel(0, 0); + << written.pixelColor(0, 0); } QVERIFY(equalImageContents(written, image)); |