来自HBITMAP的Q法师

QImage from HBITMAP

本文关键字:法师 HBITMAP 来自      更新时间:2023-10-16

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

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

这是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)

好的,这似乎对我有用:

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

Qt5 不带额外功能:放在代码之前

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

例如,在您的函数中

QPixmap pixmap = qt_pixmapFromWinHBITMAP(LoadBitmap(uiID));

干杯