7

在我的纯 Windows 程序中,我使用了一个第三方库,它返回一个HBITMAP.

有没有办法QImage从其内容初始化 a ,即将其转换为 a QImage

4

3 回答 3

11

这是 Qt 4 (QtGui) 的方法:

QImage image(QPixmap::fromWinHBITMAP(hBitmap).toImage());

这是 Qt 5 (QtWinExtras) 的方法:

QPixmap pixmap = QtWin::fromHBITMAP(hBitmap);
QImage image = pixmap.toImage();

// or

QtWin::imageFromHBITMAP(hdc, hBitmap, width, height)
于 2013-12-17T16:46:43.800 回答
3

好的,这似乎对我有用:

QImage image(QPixmap::fromWinHBITMAP(hBitmap).toImage());
于 2013-01-28T18:33:27.803 回答
0

没有附加功能的 Qt5:放在您的代码之前

#include <QPixmap>
Q_GUI_EXPORT QPixmap qt_pixmapFromWinHBITMAP(HBITMAP bitmap, int hbitmapFormat=0);

例如,在您的功能中

QPixmap pixmap = qt_pixmapFromWinHBITMAP(LoadBitmap(uiID));

干杯

于 2015-10-13T09:53:23.067 回答