Qt實(shí)現(xiàn)窗口截圖功能
截取窗口:適用做視頻通話截圖
QScreen *screen=QGuiApplication::primaryScreen(); QPixmap pixmap=screen->grabWindow(ui->widget->winId());//ui->widget->winId()你需要截圖的窗口id pixmap.save("./1.jpg","jpg");
全屏截圖
QScreen *screen = QGuiApplication::primaryScreen(); if (screen) { // 截取整個(gè)屏幕 QPixmap screenshot = screen->grabWindow(0); // 可選擇保存路徑和文件名 QString fileName = QFileDialog::getSaveFileName(nullptr, "保存截圖", QDateTime::currentDateTime().toString("yyyyMMdd_hhmmss") + ".png", "Images (*.png *.xpm *.jpg)"); if (!fileName.isEmpty()) { // 保存截圖 screenshot.save(fileName); } }
全屏截圖加水印
QScreen *screen = QGuiApplication::primaryScreen(); if (screen) { // 截取整個(gè)屏幕 QPixmap screenshot = screen->grabWindow(0); // 創(chuàng)建 QPainter 對(duì)象在截圖上繪制 QPainter painter(&screenshot); // 設(shè)置水印樣式 painter.setPen(QColor(255, 0, 0, 128)); // 紅色,透明度為128 painter.setFont(QFont("Arial", 30, QFont::Bold)); // 添加水印文本 QString watermarkText = "小gpt"; painter.drawText(screenshot.rect(), Qt::AlignVCenter | Qt::AlignHCenter, watermarkText); // 結(jié)束繪制 painter.end(); // 可選擇保存路徑和文件名 QString fileName = QFileDialog::getSaveFileName(nullptr, "保存截圖", QDateTime::currentDateTime().toString("yyyyMMdd_hhmmss") + ".png", "Images (*.png *.xpm *.jpg)"); if (!fileName.isEmpty()) { // 保存帶水印的截圖 screenshot.save(fileName); } }
到此這篇關(guān)于Qt實(shí)現(xiàn)窗口截圖功能的文章就介紹到這了,更多相關(guān)Qt窗口截圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++超詳細(xì)實(shí)現(xiàn)堆和堆排序過像
堆是計(jì)算機(jī)科學(xué)中一類特殊的數(shù)據(jù)結(jié)構(gòu)的統(tǒng)稱,通常是一個(gè)可以被看做一棵完全二叉樹的數(shù)組對(duì)象。而堆排序是利用堆這種數(shù)據(jù)結(jié)構(gòu)所設(shè)計(jì)的一種排序算法。本文將通過圖片詳細(xì)介紹堆排序,需要的可以參考一下2022-06-06QT實(shí)現(xiàn)自定義Http客戶端的示例代碼
這篇文章主要為大家詳細(xì)介紹了QT如何實(shí)現(xiàn)自定義Http客戶端的,可以實(shí)現(xiàn)支持get,post請(qǐng)求方式;支持連接超時(shí)處理;支持網(wǎng)絡(luò)錯(cuò)誤,嘗試重連等功能,感興趣的小伙伴可以學(xué)習(xí)一下2022-11-11C語言用遞歸函數(shù)對(duì)素?cái)?shù)進(jìn)行判斷流程
素?cái)?shù)判斷是編程語言學(xué)習(xí)過程中一個(gè)老生常談的話題,而它的實(shí)現(xiàn)也有多種算法,包括經(jīng)典的試除法(以及試除法的幾種優(yōu)化),進(jìn)階的素?cái)?shù)表篩選法,埃拉托斯特尼篩法和歐拉篩法(以及它們的優(yōu)化)等。對(duì)以上算法感興趣的朋友們,不妨搜索“素?cái)?shù)判斷的N種境界”來學(xué)習(xí)了解2022-09-09Visual Studio 2019創(chuàng)建C++ Hello World項(xiàng)目的方法
這篇文章主要介紹了Visual Studio 2019創(chuàng)建C++ Hello World項(xiàng)目的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03C語言模擬實(shí)現(xiàn)學(xué)生學(xué)籍管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C語言模擬實(shí)現(xiàn)學(xué)生學(xué)籍管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07C語言左旋轉(zhuǎn)字符串與翻轉(zhuǎn)字符串中單詞順序的方法
這篇文章主要介紹了C語言左旋轉(zhuǎn)字符串與翻轉(zhuǎn)字符串中單詞順序的方法,給出了相關(guān)的兩道算法題目作為例子,需要的朋友可以參考下2016-02-02