分两步,首先从屏幕中获取指定的区域,第二,根据指定区域抓取图片。
指定截取区域
思路:创建一个窗口类DrawScreen,让用户自己可以画出指定的区域。
DrawScreen头文件:
#ifndef DRAWSCREEN_H
#define DRAWSCREEN_H
#include <QDebug>
#include <QScreen>
#include <QPainter>
#include <QShowEvent>
#include <QPaintEvent>
#include <QApplication>
#include <QMouseEvent>
#include <QMainWindow>
#include <QGuiApplication>
class DrawScreen : public QMainWindow
{
Q_OBJECT
public:
explicit DrawScreen(QWidget *parent = nullptr);
public:
QPixmap pixmap;
//鼠标按下时的位置
QPoint pressedPos;
//鼠标释放时的位置
QPoint releasedPos;
//鼠标当前的位置
QPoint currentPos;
signals:
void gotRectScreen(QRect);
protected:
void paintEvent(QPaintEvent*);
void mousePressEvent(QMouseEvent*);
void mouseReleaseEvent(QMouseEvent*);
void mouseMoveEvent(QMouseEvent*);
void showEvent(QShowEvent*);
};
#en