本文阐述了一个在Qtopia下截取屏幕的方法,实际上Qtopia和QT都支持帧缓冲技术,我们可以将帧缓冲的数据读出来即为屏幕数据。但是这种方法需要对设备驱动的了解,而且实现起来不那么方便。这里介绍利用QT库中自带的grabWidget与grabWindow函数截取屏幕的方法。 两个函数的原型如下: QPixmap QPixmap::grabWindow ( WId window, int x=0, int y=0, int w=-1, int h=-1 ) WId表示被截取窗口的ID号; x,y表示截取范围的起始作标; w,h分别表示截取范围的宽度和高度,如果为-1,则表示全部截取。
QPixmap QPixmap::grabWidget ( QWidget * widget, int x=0, int y=0, int w=-1, int h=-1 ) widget表示被截取窗口的画布部分,其余参数同grabWindow