• 6105阅读
  • 1回复

[提问]在QT中使用hdc进行绘图的问题请教 [复制链接]

上一主题 下一主题
离线uiprofans
 

只看楼主 正序阅读 楼主  发表于: 2014-07-04

硬件设备库函数提供的绘图方式是:funDIBits(p1,HDC hdc, 图像内存地址,HWND绘图位置座标)

我这里所采用的大致办法是:在程序中生成一个QWidget,然后调用这个QWidgetHDC进行绘图,主要代码如下:

HDC     myhdc;
myhdc =myWidget->getDC();// 获取WidgetHDC
funDIBits(p1, myhdc, ……)
myWidget ->releaseDC(myhdc);  

那个图像内存地址保存了一幅图像,现在执行的情况是,QWidget没有相应的图像

备注:之前尝试了一种简单的办法,。我在QWidget上有相应的 QGraphicsView以及QGraphicsScene,并加载了QGraphicsiItem控件,先将内存地址中保存的图像绘制在某个QImage上,然后将这个QImageQGraphicsiItem控件上显示出来,这个办法已经调通了,但转换过程需要花费的时间多一些,现在希望探讨,是否有直接绘制的办法,这样可以节省一下时间。

在网上转了一大圈,发现在QT中几乎不用HDC的绘图方式,真是折腾。希望借助宝地人气能找到行家里手解决问题
离线彩阳

只看该作者 1楼 发表于: 2014-07-05
Qt5 中已经抽象了很多模块。
目前我只看到Qt Windows Extra中有这样一个函数:
QImage QtWin::imageFromHBITMAP(HDC hdc, HBITMAP bitmap, int width, int height)
用到了HDC。
上海Qt开发联盟,热忱地欢迎你的加入!
快速回复
限100 字节
 
上一个 下一个