qt实现截取屏幕

利用qt提供的函数实现截屏:

QPixmap QPixmap::grabWindow(WID window, int x = 0, int y = 0, int width = -1, int height = -1)

window: 表示窗口ID号

x、y: 截取屏幕的其实坐标

width:截取屏幕的宽度 -1表示当前窗口宽度

height:截取屏幕的高度 -1表示当前窗口高度
 

示例:

QString fileName;
 QPixmap pixmap;
 QPixmap pix;
 //pix = pixmap.grabWindow(this->winId(), 0, 0, -1, -1); // 獲取當前窗口
 pix = pixmap.grabWindow(QApplication::desktop()->winId()); // 獲取整個屏幕窗口

 // 當前時間命名
 fileName = QDateTime::currentDateTime().toString("yyyy-mm-dd hh-mm-ss")  + ".bmp";

 if (pix.isNull())
 {
  QMessageBox::information(this, "error", "grab Screen failed!", QMessageBox::Ok);
 }
 else
 {
  if (!pix.save("../screen/" + fileName, "BMP"))
  {
   QMessageBox::information(this, "right", "save error!", QMessageBox::Ok);
  }
  else
  {
   QMessageBox::information(this, "Grab", "save successful!", QMessageBox::Ok);
  }
 }

你可能感兴趣的:(QT,qt,数据库,java)