[转]屏幕截屏原来是如此的简单

来源:互联网 发布:苹果手机数据免费恢复 编辑:程序博客网 时间:2024/06/05 06:47


Qt的窗口框架

包括整个窗口:x(), y(), frameGeometry(), pos(), and move(). 提供这个几个函数,通过这个几个我们就可以方便的操作整个窗口的位置以实现截图啦。 
不包含窗口框(其实就一个标题栏)的:geometry(), width(), height(), rect(), and size().,通过这个几个函数我们就可以操作窗口的的Client 区域了。


    QString fileName;    QPixmap pix, bmp;    pix =bmp.grabWindow(this->winId(),0,0,frameGeometry().width(),frameGeometry().height());    fileName= QDateTime::currentDateTime().toString("yyyy-MM-ddHH-mm-ss")  + ".bmp";//通过时间命名文件    if (pix.isNull())    {        QMessageBox::information(this, "Error", "截屏失败 !", QMessageBox::Ok);    }    else    {        if(!pix.save(fileName,"BMP"))        {            QMessageBox::information(this, "Right", "保存错误 !", QMessageBox::Ok);        }        else        {            QMessageBox::information(this, "Grab", "保存成功!",QMessageBox::Ok);        }    }


    static QPixmap grabWindow(WId, int x=0, int y=0, int w=-1, int h=-1);    static QPixmap grabWidget(QObject *widget, const QRect &rect);    static inline QPixmap grabWidget(QObject *widget, int x=0, int y=0, int w=-1, int h=-1) //QRect myarea = ui.centralWidget;    { return grabWidget(widget, QRect(x, y, w, h)); }  //QRect(myarea)





1 Qt之对应用实现截屏并保存

      2 利用QT实现截屏的四种方法   *****
        




原创粉丝点击