東坡下載:內(nèi)容最豐富最安全的下載站!

幫助|文件類型庫|最新更新|下載分類|排行榜

圖像處理圖像瀏覽圖像捕捉動畫相關(guān)圖標(biāo)相關(guān)專業(yè)制圖Photoshop草圖大師coreldrawautocad光影魔術(shù)手美圖秀秀

首頁圖文處理圖像處理 → 截圖圖片壓縮軟件 1.0 綠色版【附源碼】

截圖圖片壓縮軟件

截圖圖片壓縮軟件1.0 綠色版【附源碼】

  • 大小:24.8M
  • 語言:中文
  • 平臺:win7, WinAll
  • 更新:2015-07-17 14:45
  • 等級:
  • 類型:圖像處理
  • 網(wǎng)站:http://tipsywinegypsy.com
  • 授權(quán):免費(fèi)軟件
  • 廠商:
  • 產(chǎn)地:國產(chǎn)軟件
好用好玩 50%(0)
坑爹 坑爹 50%(0)
軟件介紹軟件截圖相關(guān)軟件軟件教程網(wǎng)友評論下載地址

截圖圖片壓縮軟件是一款可以讀取剪貼板中的圖片,保存為png文件,調(diào)用pngquant來壓縮成新的png,把壓縮后的png文件的路徑寫入剪貼板(相當(dāng)于在資源管理器中對這個文件做“復(fù)制”操作)。還能將帶有復(fù)雜參數(shù)的淘寶鏈接簡化為只保留寶貝ID 的鏈接工具。東坡小編帶附上此軟件的源碼,有需要反歡迎下載!

怎么用

截圖圖片壓縮軟件使用方法

用各種截屏軟件截屏到剪貼板,運(yùn)行這個小程序,在需要粘貼的地方粘貼。

這個小程序是不后臺運(yùn)行的,運(yùn)行完就退出。運(yùn)行方法可以是用各種快捷運(yùn)行工具比如"WIN+R"、“ALTRUN”等,也可以創(chuàng)建exe的快捷方式,在屬性里添加全局快捷鍵。

這個小程序還有一個附加功能,就是運(yùn)行時也會從剪貼板讀取文本,如果是淘寶或天貓的URL就會簡化URL,去掉spm等參數(shù),只保留id參數(shù)。這是我整理購物清單時需要用的功能,因?yàn)橹挥袔仔写a,同時也需要做剪貼板操作,就和上面的程序合體了。

截圖圖片壓縮軟件程序源碼

#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ì)算壓縮比,根據(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官方
安卓官方手機(jī)版
IOS官方手機(jī)版

截圖圖片壓縮軟件截圖

下載地址

截圖圖片壓縮軟件 1.0 綠色版【附源碼】

熱門評論
最新評論
發(fā)表評論 查看所有評論(0)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)

編輯推薦

報錯

請簡要描述您遇到的錯誤,我們將盡快予以修正。

轉(zhuǎn)帖到論壇
輪壇轉(zhuǎn)帖HTML方式

輪壇轉(zhuǎn)帖UBB方式