aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2016-03-17 13:33:50 +0100
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2018-04-18 08:01:54 +0000
commitacb67561a3753306a2262f7221baca2d727fd4cb (patch)
treec890a9e7f90382bf60db4c22abc8f778d13a84f5 /tests
parent7b267bd3858743af32c30dcbd84c0e5dc11da0ba (diff)
Add imageToHBITMAP(), imageFromHBITMAP()
Add new functions for image conversions wrapping their QtGui equivalents. [ChangeLog][QtWin] Added functions imageToHBITMAP() and imageFromHBITMAP() for conversion between QImage and HBITMAP, preserving the format where possible. Task-number: QTBUG-51124 Change-Id: I212b2dff182dce3a9b08753b6435d01b75bb5434 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qpixmap/tst_qpixmap.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/auto/qpixmap/tst_qpixmap.cpp b/tests/auto/qpixmap/tst_qpixmap.cpp
index 8a63e25..8383194 100644
--- a/tests/auto/qpixmap/tst_qpixmap.cpp
+++ b/tests/auto/qpixmap/tst_qpixmap.cpp
@@ -29,6 +29,7 @@
#include <QtTest/QtTest>
#include <QtCore/qt_windows.h>
#include <QtCore/QFileInfo>
+#include <QtGui/QPainter>
#include <QtGui/QPixmap>
#include <QtGui/QImage>
#include <QtWinExtras/QtWin>
@@ -53,6 +54,8 @@ private slots:
void fromHICON_data();
void fromHICON();
+ void imageConversion();
+
private:
const QString m_dataDirectory;
};
@@ -279,6 +282,21 @@ void tst_QPixmap::fromHICON()
QVERIFY2(compareImages(imageFromHICON, imageFromFile, &errorMessage), errorMessage.constData());
}
+void tst_QPixmap::imageConversion()
+{
+ // Extensive testing of all formats is done in QtGui; this merely tests
+ // the exports/linkage.
+ QImage image(73, 57, QImage::Format_ARGB32_Premultiplied);
+ image.fill(Qt::red);
+ QPainter painter(&image);
+ painter.drawLine(0, 0, image.width(), image.height());
+ const HBITMAP hBitMap = QtWin::imageToHBITMAP(image);
+ QVERIFY(hBitMap);
+ const QImage fromHBitMap = QtWin::imageFromHBITMAP(hBitMap, QtWin::HBitmapPremultipliedAlpha);
+ QCOMPARE(fromHBitMap, image);
+ DeleteObject(hBitMap);
+}
+
QTEST_MAIN(tst_QPixmap)
#include "tst_qpixmap.moc"