截图图片压缩软件是一款可以读取剪贴板中的图片,保存为png文件,调用pngquant来压缩成新的png,把压缩后的png文件的路径写入剪贴板(相当于在资源管理器中对这个文件做“复制”操作)。还能将带有复杂参数的淘宝链接简化为只保留宝贝ID 的链接工具。东坡小编带附上此软件的源码,有需要反欢迎下载!
怎么用
截图图片压缩软件使用方法
用各种截屏软件截屏到剪贴板,运行这个小程序,在需要粘贴的地方粘贴。
这个小程序是不后台运行的,运行完就退出。运行方法可以是用各种快捷运行工具比如"WIN+R"、“ALTRUN”等,也可以创建exe的快捷方式,在属性里添加全局快捷键。

这个小程序还有一个附加功能,就是运行时也会从剪贴板读取文本,如果是淘宝或天猫的URL就会简化URL,去掉spm等参数,只保留id参数。这是我整理购物清单时需要用的功能,因为只有几行代码,同时也需要做剪贴板操作,就和上面的程序合体了。
截图图片压缩软件程序源码
#include "mainwindow.h"
#include <QApplication>
#include <QtGui>
#include <QMessageBox>
#include <QMimeData>
#include <QDebug>
#include <string.h>
#include <windows.h>
#include <shlobj.h>
//复制文件到剪贴板
//没有加入错误判断,请自行修改
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;//复制; 剪贴则用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");
//调用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);
//根据原文件大小自动匹配单位
QString fs0,fs1,str;
if(filesize0<1024) {
fs0.sprintf("%d 字节",(int)filesize0);
fs1.sprintf("%d 字节",(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);
}
//计算压缩比,根据文件大小的方式或许有问题,尤其是对于很小的图片会出现大于100%的压缩比。
str.sprintf("%.1f%%",(float)filesize1*100/(float)filesize0);
str="截图压缩成功,原图片大小为 "+fs0+",压缩后图片大小为 "+fs1+",压缩率为 "+str+" ,压缩后的图片已经写入剪贴板中。";
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照片合规处理客户端白色版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 绿色版
图片视频画质增强器软件1.3 绿色免费版
PC音视图万能格式转换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 官方免费版
剪映电脑专业版1.3.5 官方版
电脑绘画软件(绘画助手)2.0.5.1免费版
万彩脑图大师4.0官方最新版
图图去水印软件1.1.5.0 pc版
宝川电子相册2.0.20 官方最新免费版
爱修图1.3.3官方版




Adobe Photoshop CS简体中文版8.0.1 免费版
ps2020(Adobe Photoshop 2020中文版)21.0.1
Photoshop CS 绿色版8.0.1 中文免费版
bigjpg图片无损放大器1.0.0【32/64位】电脑
CAD教育版去除软件1.0绿色免费版
Vray灯光材质细分一键修改插件1.0 官网免费
小嘀咕图片批量加水印工具1.0 绿色免费版
贺卡专家2.55 绿色免费版【电子贺卡制作】