QImage от HBITMAP

В моей программе только для Windows я использую стороннюю библиотеку, которая возвращает HBITMAP,

Есть ли способ инициализировать QImage из его содержимого, то есть преобразовать его в QImage?

5

Решение

Это способ сделать это для 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)
9

Другие решения

ОК, это похоже на работу для меня:

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

Qt5 без дополнений:
Поставь перед своим кодом

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

и в вашей функции, например

QPixmap pixmap = qt_pixmapFromWinHBITMAP(LoadBitmap(uiID));

ура

0
По вопросам рекламы [email protected]