现在 QPixmap::toWinHBITMAP() 已被弃用,我找不到从 QPixmap(或 QImage)获取 HBITMAP 的方法。
谷歌搜索,我发现有一个名为 qt_pixmapToWinHBITMAP() 的函数,它似乎可以满足我的需要,但我找不到我应该在 .pro 文件中启用哪个模块 - 如果有的话 - 或者我应该包含什么标头来使用它,或者也许是别的东西。
我需要 HBITMAP 的原因是使用 VFW 创建视频。当然,我希望能够仅使用 Qt 来做到这一点。有 QtMultimedia 模块,但据我所知它不导出视频,所以我想我只能直接使用 Windows api。
任何帮助,将不胜感激。
我找到了!
我所需要的只是 QtWinExtras
http://qt.gitorious.org/qt/qtwinextras http://qt.gitorious.org/qt/qtwinextras
我的代码现在看起来像这样:
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <qt_windows.h>
#include <QtWinExtras/QWinFunctions>
...
QPixmap pix(QSize(w,h));
...
HBITMAP hbm = QWinExtras::toHBITMAP(pix);
...
::DeleteObject(hbm);
我不知道是否需要包含所有这些标题,但它对我有用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)