線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2860
推到 Plurk!
推到 Facebook!

[C++]如何將擷取到的圖片(bmp)轉成jpg

尚未結案
山崎達
一般會員


發表:3
回覆:4
積分:1
註冊:2005-08-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-08-14 22:28:07 IP:59.104.xxx.xxx 未訂閱
我有搜詢過相關的主題, 不過都是以「Delphi」的語言所撰寫! 不知道在c 中有沒有 可以將bmp的圖片轉為jpg 的結構或方法。 類似像Delphi中所提供的「 TJPEGImage」的方法 可以使用。 TJPEGImage* Jpg = new TJPEGImage; Graphics::TBitmap* Bmap = new Graphics::TBitmap; String NewPicName,OrgPicName; OrgPicName = "c:\\a.bmp"; Bmap->LoadFromFile(OrgPicName); NewPicName = ChangeFileExt(OrgPicName, ".jpg"); Jpg->Assign(Bmap); Jpg->SaveToFile(NewPicName); Bmap->Free(); Jpg->Free(); 由於小第初次接觸影像處理的領域, 故缺乏這方面的知識 希望大家能為我解惑, 謝謝大家!~~~
zilch
中階會員


發表:5
回覆:87
積分:78
註冊:2002-09-24

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-08-14 23:58:57 IP:218.166.xxx.xxx 未訂閱
從別地方到的 希望有幫助 須 include jpeg.hpp
void Bmp2Jpg(String BmpName, String JpgName)    //將bmp檔轉換為jpg檔
{ 
    Graphics::TBitmap *MyBMP = new Graphics::TBitmap; 
    try 
    { 
        MyBMP->LoadFromFile(BmpName); //圖片位置 
        TJPEGImage *MyJPEG = new TJPEGImage; 
        MyJPEG->Assign(MyBMP); 
        MyJPEG->CompressionQuality = 60; //壓縮比例 1..100 
        MyJPEG->Compress(); 
        MyJPEG->SaveToFile(JpgName);    //保存路徑 
        delete MyJPEG; 
    } 
    __finally 
    { 
        delete MyBMP; 
    } 
}
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-08-15 12:15:04 IP:59.115.xxx.xxx 未訂閱
山崎達 您好:    您的範例碼可以加強一下,請看下列的標註說明:
TJPEGImage* Jpg = new TJPEGImage;
Graphics::TBitmap* Bmap = new Graphics::TBitmap;
String NewPicName,OrgPicName;    OrgPicName = "c:\\a.bmp"; 
Bmap->LoadFromFile(OrgPicName);
NewPicName = ChangeFileExt(OrgPicName, ".jpg");
Jpg->Assign(Bmap);
Jpg->SaveToFile(NewPicName);    // 刪除下列兩行
Bmap->Free();
Jpg->Free();    // 改成下列方式來刪除與釋放暫用物件
delete Bmap;
Bmap = NULL;    delete Jpg;
Jpg = NULL;
除此之外,您自己舉的範例已經可以達到您所要的 "轉檔" 功能了,不知道您是那一個部分需要 "解惑"? 7 天天敲鍵盤 v 時時按滑鼠 8 發表人 - RedSnow 於 2005/08/15 12:19:37
山崎達
一般會員


發表:3
回覆:4
積分:1
註冊:2005-08-09

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-08-17 19:49:15 IP:211.74.xxx.xxx 未訂閱
很感謝兩位前輩的回覆, 我想是自已在問題表達的部分, 方向錯誤, 因此在此說聲抱歉。 我是以visual c 為開發軟體(不是.net) 主要問題是:「如何將擷取到的圖片(bmp)轉成jpg」 由於開發軟體的不同, 故沒辦法include jpeg.hpp 沒辦法使用TJPEGImage的結構, 所以, 想請問是否有其他的方法可以來解決這個問題! 如果問題有不清楚的地方, 請告知我, 我會儘量改進, 謝謝大家!~~~~~
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-08-17 22:02:51 IP:59.115.xxx.xxx 未訂閱
山崎達 您好:    其實網路上有很多的資源,只要您多練習一下透過搜索引擎來找尋,就能找到不少好東西,其中不乏免費又好用的,下列這個網頁上所介紹的 CxImage 就是其中之一,它是一個 C++ Class,支援了多種的圖檔格式,您可以參考一下: CxImage By Davide Pizzolato http://www.codeproject.com/bitmap/cximage.asp 該站台的資源非常的豐富,您也可以透過該站的搜尋功能再搜尋一下,或許還能找到其它不少有用的資訊或資源,抽空逛逛吧: The Code Project http://www.codeproject.com/ 7 天天敲鍵盤 v 時時按滑鼠 8
山崎達
一般會員


發表:3
回覆:4
積分:1
註冊:2005-08-09

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-08-18 23:50:34 IP:211.74.xxx.xxx 未訂閱
多謝前輩的指教!~~ 我有嘗試過利用搜索引擎來找尋資料 但是並沒有好的收獲! 我想原因可能是在於「關鍵字」 或者是「英文網頁」 兩大可能性, 看來是要好好練習如何收尋資料! 謝謝RedSnow、zilch兩位前輩的指教! 你們回覆的速度好快! 不到幾個小時的時間! 就能給予小第答覆! 多謝!
系統時間:2024-05-04 16:44:21
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!