#include #include Q_GUI_EXPORT QImage qt_imageFromWinHBITMAP(HDC hdc, HBITMAP bitmap, int w, int h); Q_GUI_EXPORT QPixmap qt_pixmapFromWinHBITMAP(HBITMAP bitmap, int hbitmapFormat = 0); int main(int argc, char **argv) { QApplication a(argc, argv); QWidget w; w.show(); HDC display_dc = GetDC(0); HDC bitmap_dc = CreateCompatibleDC(display_dc); HBITMAP bitmap = (HBITMAP)LoadImage(NULL, L"test.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE); SelectObject(bitmap_dc, bitmap); { QImage image = qt_imageFromWinHBITMAP(display_dc, bitmap, 297, 475); image.save("test.png", "PNG"); QPixmap pix = qt_pixmapFromWinHBITMAP(bitmap); pix.save("testPix.png", "PNG"); } DeleteObject(SelectObject(bitmap_dc, bitmap)); #ifndef Q_OS_WINCE DeleteDC(bitmap_dc); #endif ReleaseDC(0, display_dc); return a.exec(); }