• 6901阅读
  • 8回复

QT里怎么用QPixmap截取屏幕数据? [复制链接]

上一主题 下一主题
离线liriyue
 
只看楼主 倒序阅读 楼主  发表于: 2011-05-10
        quint8*RGBdata;
        QPixmappix;
QPixmappixmap;
  pix=pixmap.grabWidget(QApplication::desktop()->winId(),0,0,-1,-1);
请问怎么获取屏幕的RGB数据,把这些RGB放入RGBdata,因为我要将RGB32转换成YUV420P

还有这个采集的效率怎么样?做屏幕录像时每秒采25帧能不能满足要求?[/pre]
[ 此帖被liriyue在2011-05-10 15:30重新编辑 ]
离线XChinux

只看该作者 1楼 发表于: 2011-05-10
试验一下看看。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线liriyue
只看该作者 2楼 发表于: 2011-05-10
版主,你是说你去试验还是让我去试验?

我刚接触QT,这个确实不会弄
离线roywillow

只看该作者 3楼 发表于: 2011-05-10
截图这个效率应该还跟截图的大小有关的,截图越大速度也会越慢,至少我用QTimeLine尝试过30fps截取1*1或者50*50左右的图像在笔记本上挺流畅
似乎QPixmap没有直接访问其数据的成员函数,QImage是存在的,scanLine可以直接读取数据,不过是按照图像像素一行一行读取的
[ 此帖被roywillow在2011-05-10 16:38重新编辑 ]
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线liriyue
只看该作者 4楼 发表于: 2011-05-10
GetDIBits( hCaptureDC, hCaptureBitmap, 0, sHeight, sRGB_data, bih, DIB_RGB_COLORS );

用Windows的API就可以很快,每秒20fps没问题(1600*900 32bit)

虽然这个采集速度跟PC的性能也有关,在QT下有没有比较高效的方案
离线XChinux

只看该作者 5楼 发表于: 2011-05-10
关注中。。。。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线liriyue
只看该作者 6楼 发表于: 2011-05-11
求助各位大侠,帮忙想想办法
离线hehui

只看该作者 7楼 发表于: 2011-06-23
这种东西API最快!
离线ww8851175
只看该作者 8楼 发表于: 2011-06-27
关注!
快速回复
限100 字节
 
上一个 下一个