截圖圖片壓縮軟件是一款可以讀取剪貼板中的圖片,保存為png文件,調(diào)用pngquant來壓縮成新的png,把壓縮后的png文件的路徑寫入剪貼板(相當于在資源管理器中對這個文件做“復(fù)制”操作)。還能將帶有復(fù)雜參數(shù)的淘寶鏈接簡化為只保留寶貝ID 的鏈接工具。東坡小編帶附上此軟件的源碼,有需要反歡迎下載!
怎么用
截圖圖片壓縮軟件使用方法
用各種截屏軟件截屏到剪貼板,運行這個小程序,在需要粘貼的地方粘貼。
這個小程序是不后臺運行的,運行完就退出。運行方法可以是用各種快捷運行工具比如"WIN+R"、“ALTRUN”等,也可以創(chuàng)建exe的快捷方式,在屬性里添加全局快捷鍵。

這個小程序還有一個附加功能,就是運行時也會從剪貼板讀取文本,如果是淘寶或天貓的URL就會簡化URL,去掉spm等參數(shù),只保留id參數(shù)。這是我整理購物清單時需要用的功能,因為只有幾行代碼,同時也需要做剪貼板操作,就和上面的程序合體了。
截圖圖片壓縮軟件程序源碼
#include "mainwindow.h"
#include <QApplication>
#include <QtGui>
#include <QMessageBox>
#include <QMimeData>
#include <QDebug>
#include <string.h>
#include <windows.h>
#include <shlobj.h>
//復(fù)制文件到剪貼板
//沒有加入錯誤判斷,請自行修改
int CopyFileToClipboard(const char szFileName[])
{
UINT uDropEffect;
HGLOBAL hGblEffect;
LPDWORD lpdDropEffect;
DROPFILES stDrop;
HGLOBAL hGblFiles;
LPSTR lpData;
uDropEffect = RegisterClipboardFormatA("Preferred DropEffect");
hGblEffect = GlobalAlloc(GMEM_ZEROINIT | GMEM_MOVEABLE | GMEM_DDESHARE,sizeof(DWORD));
lpdDropEffect = (LPDWORD)GlobalLock(hGblEffect);
*lpdDropEffect = DROPEFFECT_COPY;//復(fù)制; 剪貼則用DROPEFFECT_MOVE
GlobalUnlock(hGblEffect);
stDrop.pFiles = sizeof(DROPFILES);
stDrop.pt.x = 0;
stDrop.pt.y = 0;
stDrop.fNC = FALSE;
stDrop.fWide = FALSE;
hGblFiles = GlobalAlloc(GMEM_ZEROINIT | GMEM_MOVEABLE | GMEM_DDESHARE,\
sizeof(DROPFILES)+strlen(szFileName)+2);
lpData = (LPSTR)GlobalLock(hGblFiles);
memcpy(lpData,&stDrop,sizeof(DROPFILES));
strcpy(lpData+sizeof(DROPFILES),szFileName);
GlobalUnlock(hGblFiles);
OpenClipboard(NULL);
EmptyClipboard();
SetClipboardData(CF_HDROP,hGblFiles);
SetClipboardData(uDropEffect,hGblEffect);
CloseClipboard();
return 1;
}
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
//MainWindow w;
//w.show();
//從剪貼板中讀取圖片并保存為png圖片
QImage myImage1=QImage(QApplication::clipboard()->image());
if(myImage1.isNull()) {
QString str = QApplication::clipboard()->text();
qDebug() << str;
if(str.left(7)=="http://"){
str = str.mid(7);
}
int istaobaourl=0;
if(str.left(25)=="item.taobao.com/item.htm?"){
str = str.mid(25);
qDebug()<<str;
QStringList slist = str.split('&');
for(int i=0;i<slist.size();i++){
qDebug() << slist[i];
if(slist[i].startsWith("id=")){
str="http://item.taobao.com/item.htm?"+slist[i];
qDebug() << str ;
QApplication::clipboard()->setText(str);
istaobaourl=1;
}
}
}
else if(str.left(26)=="detail.tmall.com/item.htm?"){
str = str.mid(26);
qDebug()<<str;
QStringList slist = str.split('&');
for(int i=0;i<slist.size();i++){
qDebug() << slist[i];
if(slist[i].startsWith("id=")){
str="http://detail.tmall.com/item.htm?"+slist[i];
qDebug() << str ;
QApplication::clipboard()->setText(str);
istaobaourl=1;
}
}
}
if(istaobaourl==1){
QMessageBox::information(NULL, "淘寶URL簡化成功",str);
return 0;
}
else{
QMessageBox::information(NULL, "出錯了","未能從剪貼板中讀取圖片或淘寶URL");
return -1;
}
}
myImage1.copy().save("temp.png");
//調(diào)用pngquant壓縮圖片
QProcess p(0);
p.start("pngquant.exe --force --verbose --ordered --speed=1 --quality=50-90 temp.png");
p.waitForStarted();
p.waitForFinished();
/*
//把壓縮后的圖片寫入剪貼板中
QImage myImage2("temp-or8.png");
QApplication::clipboard()->clear();
QApplication::clipboard()->setImage(myImage2);
myImage1=QImage(QApplication::clipboard()->image());
*/
//讀取原圖片大小
QFile file0("temp.png");
if (!file0.open(QIODevice::ReadOnly)){
QMessageBox::information(NULL, "出錯了","未能讀取原圖片");
return -2;
}
qint64 filesize0 = file0.size();
file0.close();
//讀取壓縮后圖片大小
QFile file1("temp-or8.png");
if (!file1.open(QIODevice::ReadOnly)) {
QMessageBox::information(NULL, "出錯了","未能讀取壓縮后的圖片");
return -3;
}
qint64 filesize1 = file1.size();
file1.close();
QDir temDir("temp-or8.png");
QString absDir = temDir.absolutePath();
qDebug()<<absDir;
std::string sstr = absDir.toStdString();
const char* ch = sstr.c_str();
CopyFileToClipboard(ch);
//根據(jù)原文件大小自動匹配單位
QString fs0,fs1,str;
if(filesize0<1024) {
fs0.sprintf("%d 字節(jié)",(int)filesize0);
fs1.sprintf("%d 字節(jié)",(int)filesize1);
}
else if(filesize0<1024*1024){
fs0.sprintf("%.1f KB",(float)filesize0/1024);
fs1.sprintf("%.1f KB",(float)filesize1/1024);
}
else{
fs0.sprintf("%.1f MB",(float)filesize0/1024/1024);
fs1.sprintf("%.1f MB",(float)filesize1/1024/1024);
}
//計算壓縮比,根據(jù)文件大小的方式或許有問題,尤其是對于很小的圖片會出現(xiàn)大于100%的壓縮比。
str.sprintf("%.1f%%",(float)filesize1*100/(float)filesize0);
str="截圖壓縮成功,原圖片大小為 "+fs0+",壓縮后圖片大小為 "+fs1+",壓縮率為 "+str+" ,壓縮后的圖片已經(jīng)寫入剪貼板中。";
QMessageBox::information(NULL, "截圖壓縮成功", str);
return 0;//a.exec();
}
- PC官方版
- 安卓官方手機版
- IOS官方手機版















Adobe Photoshop 2023精簡版v24.1.0 綠色便攜版
可逆馬賽克軟件1.0 免費版
ps2023破解版(photoshop2023下載)v24.0 中文版
Adobe Lightroom Classic 2023中文版12.0.1 官方版
ps2023中文版(Adobe Photoshop 2023)24.0 官方免費版
2022照片合規(guī)處理客戶端白色版1.2.2 電腦版
PureRef漢化版1.11.1 綠色版
火山圖片批量處理助手v2022 最新版
Inpaint去水印軟件9.1 中文破解版
冪果去水印軟件1.0.1 官方版
圖像高清處理軟件(Perfectly Clear WorkBench)4.1.2.2310 綠色便攜版
Adobe Camera Raw(raw圖片編輯插件)14.4.0.1121 免費版
AI魔法消除小工具離線版v1.1 免費版
photoshop助手1.0.0.11 官方版
jsplacement軟件1.3.0 綠色版
圖片視頻畫質(zhì)增強器軟件1.3 綠色免費版
PC音視圖萬能格式轉(zhuǎn)換1.0 PC版
ACFAN面鋪助手V1.27.0.1292 官方最新版
Topaz Mask AI(智能蒙版摳圖軟件)1.3.9 中文版
Topaz Adjust AI 漢化版1.0.5 中文版
Topaz Sharpen AI 2.2.4漢化破解版中文版
美圖秀秀2024版7.0.92 官方正式版
sharex滾動截屏13.5 中文綠色版
水印管家1.4.7 官方最新版
WPS圖片軟件5.0.0.2 官方免費版
剪映電腦專業(yè)版1.3.5 官方版
電腦繪畫軟件(繪畫助手)2.0.5.1免費版
萬彩腦圖大師4.0官方最新版
圖圖去水印軟件1.1.5.0 pc版
寶川電子相冊2.0.20 官方最新免費版
愛修圖1.3.3官方版




Photoshop 2021最新版22.5.1 直裝破解版
Adobe Photoshop CS簡體中文版8.0.1 免費版
Photoshop CS 綠色版8.0.1 中文免費版
ps2020(Adobe Photoshop 2020中文版)21.0.1
photoshop7.0綠色版(PS7.0)中文免費版
ps2022(Adobe Photoshop 2022破解版)23.3.1
photoshop cc 2018破解版安裝包19.0 中文免
Adobe Photoshop CC 2016官方原版(附破解工
3D地圖沙盤場景快速設(shè)計PS插件免費版