導航:首頁 > 文件處理 > c壓縮jpg

c壓縮jpg

發布時間:2024-01-22 14:44:00

『壹』 VC++得到圖像數據太大,想要壓縮後再傳輸

下載一個CxImage(開源),用它來壓縮成jpg或其它格式再傳。
也可以使用ijl。

下面是我寫的使用CxImage的例子:
#include "xImage.h"
#include "CaptureScreen.h"
#pragma comment(lib,"cximage.lib")
#pragma comment(lib,"jpeg.lib")
#pragma comment(lib,"jasper.lib")

CAPTURESCREEN_API bool __stdcall Capture(char* lpszFile,unsigned int height,unsigned int width,unsigned char jpgQuality)
{
keybd_event(VK_SNAPSHOT,0,0,0);
keybd_event(VK_SNAPSHOT,0,KEYEVENTF_KEYUP,0);
if(!IsClipboardFormatAvailable(CF_DIB))return false;

HANDLE hBitmap = NULL;
if( OpenClipboard( NULL ))
{
hBitmap = GetClipboardData(CF_DIB);
CloseClipboard();
}
if( hBitmap == NULL )return false;

CxImage image;
if( image.CreateFromHANDLE(hBitmap) == false )return false;
image.Resample(width,height,1);
image.SetJpegQuality(jpgQuality);
image.Save(lpszFile,CXIMAGE_FORMAT_JPG);

return true;
}

『貳』 如何用c語言實現壓縮圖片內存大小

是(row,col,value),這樣把所有不為零的值組成一個向量。這種存儲方式比二維數組節省了不少空間,當然還可以進一步節省,因為三元組裡面row或者col重復存儲了,一行或者一列存一次就行了,按這種思路走下去就是行壓縮存儲了。
那具體什麼是行壓縮存儲呢?行壓縮存儲的思想就是,把所有不為零的值按行訪問的順序組成一個向量,然後再把每一行值不為0的列的下標存下來,這個兩個向量的大小和稀疏矩陣中不為0的值得個數相同,當然要實現對行壓縮矩陣的訪問,還要把每一行的不為0的列的下標在第二個向量中開始的位置存下來,有人把這個叫做指針。有了這三個向量就可以實現對矩陣實現高效的按行訪問了。行壓縮存儲比三元組優秀的不僅是空間的壓縮,還有就是行訪問時的高效。三元組如果是有序的,可以二分查找來訪問一行,但是行壓縮存儲按行訪問時的時間復雜度是常數級的。 大家可以參考下面這個行壓縮矩陣示意圖:

閱讀全文

與c壓縮jpg相關的資料

熱點內容
程序員呼蘭搞笑 瀏覽:347
蘋果怎麼關閉自動排序app 瀏覽:957
國外可以訪問到用什麼伺服器地址 瀏覽:944
揚州前端程序員私活價格 瀏覽:987
視覺演算法程序員該買什麼筆記本 瀏覽:713
鍵盤滑鼠編程 瀏覽:841
linux中修改命令 瀏覽:286
dns伺服器地址怎麼查詢地址 瀏覽:863
php易寶支付介面 瀏覽:610
開源免費oaphp 瀏覽:884
數據加密過程簡述 瀏覽:811
python基礎教程pdf下載 瀏覽:125
如何統計伺服器 瀏覽:746
蘋果和安卓怎麼贈送模組 瀏覽:807
伺服器倒計時怎麼弄 瀏覽:34
excel文件夾更新 瀏覽:437
億點連接app哪裡好 瀏覽:791
java掃碼支付 瀏覽:877
單片機行車記錄儀 瀏覽:393
oppo雲伺服器什麼意思 瀏覽:84