請問如何"直接"把 JPG 檔壓縮? |
尚未結案
|
JackTasy
初階會員 發表:22 回覆:97 積分:28 註冊:2002-06-06 發送簡訊給我 |
|
cwc65536
初階會員 發表:47 回覆:121 積分:48 註冊:2004-10-14 發送簡訊給我 |
|
sryang
尊榮會員 發表:39 回覆:762 積分:920 註冊:2002-06-27 發送簡訊給我 |
|
JackTasy
初階會員 發表:22 回覆:97 積分:28 註冊:2002-06-06 發送簡訊給我 |
感謝 cwc65536 和 sryang 的撥空回覆,容我說明一下。
我知道 jpg 已經是壓縮過的圖檔,若再壓縮必須犧牲圖型品質。
我現在有一個需求必須大量掃描文件並預設存成 jpg 檔,因為第一次掃描進來必須做一些影像控制及辨識所以必須最小存成一張約十幾 MB 大小的檔案。但程式辨識完後我就不需要解析度那麼高的圖檔了,僅需肉眼能辨識不太差的圖檔即可,這樣比較不會佔太大量的硬碟空間,所以這個需求對我來說是有必要的。
我試過先把 jpg 轉成 bmp,再用 bmp 轉成 jpg 藉由設定 CompressionQuality 這個屬性我可以得到壓縮後一個約 120k 的檔案,且肉眼看起來還不算差,這樣的結果差異對我來說是很重要的。
但我的問題在於轉換過程jpg->bmp->jpg會花較多時間及CPU Resource,所以才想了解看看是否可直接轉換或其他更好方法。
謝謝不吝指教。 JackTasy
------
JackTasy |
sryang
尊榮會員 發表:39 回覆:762 積分:920 註冊:2002-06-27 發送簡訊給我 |
uses JPeg; .....
Image1.LoadFromFile('c:\a.jpg'); //Image1: TImage
Jpg.Assign(Image1.Picture); //Jpg: TJpgImage
Jpg.CompressionQuality := 30; //你想要的壓縮品質
Jpg.Compress;
Jpg.SaveToFile('c:\b.jpg'); 這樣就好了
只要 uses JPeg,TImage 就支援 jpg 檔,可以直接 load 進來 加油喔,喵~
------
歡迎參訪 "腦殘賤貓的備忘錄" http://maolaoda.blogspot.com/ |
JackTasy
初階會員 發表:22 回覆:97 積分:28 註冊:2002-06-06 發送簡訊給我 |
謝謝 sryang 的指導,不過我試了ㄧ下有一點小問題喔。
若照如下的Code轉出的檔案FileSize=0,是個失敗的檔案沒有影像。
拿掉 Jpg.Compress; 這ㄧ行雖然就可以產生有影像的檔案但卻沒有壓縮效果了。
uses jpeg; procedure TForm1.Button1Click(Sender: TObject); var Jpg: TJpegImage; begin Jpg := TJpegImage.Create; try Image1.Picture.LoadFromFile('c:\tmp2\1.jpg'); //Image1: TImage Jpg.Assign(Image1.Picture); //Jpg: TJpgImage Jpg.CompressionQuality := 30; //你想要的壓縮品質 Jpg.Compress; //<-* Jpg.SaveToFile('c:\tmp2\1a.jpg'); finally Jpg.Free; end; end;JackTasy
------
JackTasy |
sryang
尊榮會員 發表:39 回覆:762 積分:920 註冊:2002-06-27 發送簡訊給我 |
抱歉,寫錯了,應該是這樣:
Jpg.LoadFromFile('c:\a.jpg');
Image1.Picture.Bitmap.Assign(Jpg); //Image1: TImage
Jpg.Assign(Image1.Picture.Bitmap); //Jpg: TJpgImage
Jpg.CompressionQuality := 30; //你想要的壓縮品質
Jpg.Compress;
Jpg.SaveToFile('c:\b.jpg');
還是要先用 TJpgImage 先 load 進圖檔,丟給 TImage 轉成 bitmap ,然後再丟回給 TJpgImage 之後再壓縮,存檔。
可是這樣的方法你已經再使用了,對不起,造成你的困擾。 加油喔,喵~
------
歡迎參訪 "腦殘賤貓的備忘錄" http://maolaoda.blogspot.com/ |
JackTasy
初階會員 發表:22 回覆:97 積分:28 註冊:2002-06-06 發送簡訊給我 |
|
bugmans
高階會員 發表:95 回覆:322 積分:188 註冊:2003-04-12 發送簡訊給我 |
http://www.stuffit.com/win/deluxe/
Compress JPEG Photos and Images With its revolutionary new Image compression technology, StuffIt archives what no other compression product has been able to do – reduce the size of JPEG photos and images no loss in image quality! 宣稱可以再減少30%的大小,而且是無損壓縮 http://www.stuffit.com/imagecompression/wp_stuffit_imgcomp.pdf 其中的原理介紹 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |