請教如何直接取出TJPEGImage元件的JPEG內容 |
尚未結案
|
danielj
初階會員 發表:65 回覆:135 積分:40 註冊:2003-06-11 發送簡訊給我 |
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 由於處理時間有限,小弟想要直接從TJPEGImage元件中取出它的JPEG圖片內容,小弟只知道可利用TMemoryStream由TJPEGImage->SaveToStream(ms),然後再由ms->Memory去讀取其中的圖片內容,不知道有沒有跳過中間這一步驟的方法? 先謝謝大家囉! danielj 你好: (1)我想~~你的問題有一個容易讓人混淆不清的地方,那就是你所說的「直接取 出 JPEG 的圖片內容」,是指取出 JPEG 的 Stream 還是指取出該張圖形的 每一點 Pixel 值?? (2)如果是要取出 JPEG 的 Stream 的話,就小弟我所知~~你所說的方法,應該 已經算是最快的方法了 (3)如果是要取出 JPEG 圖形中每一點的 Pixel 值,就要先轉換成 Bitmap-- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
danielj
初階會員 發表:65 回覆:135 積分:40 註冊:2003-06-11 發送簡訊給我 |
多謝RaynorPao大哥的回答! 我所想要的是取出JPEG圖檔的內容,也就是一般.jpg檔案中FFD8~FFD9的內容,然後利用比較快的解壓方法得到bitmap檔,我想再修改bitmap檔後再回壓成jpeg檔案,以下就是我想要的程式流程: TJPEGImage *jpg = new TJPEGImage();
jpg->LoadFromFile("c:\\test.jpg");
//->取得TJPEGImage中儲存jpeg檔案FFD8~FFD9的內容
//->利用解壓函數解出Bitmap檔案
//->修改Bitmap檔案內容
//->重新壓成jpeg檔
delete jgp;
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 多謝RaynorPao大哥的回答! 我所想要的是取出JPEG圖檔的內容,也就是一般.jpg檔案中FFD8~FFD9的內容,然後利用比較快的解壓方法得到bitmap檔,我想再修改bitmap檔後再回壓成jpeg檔案,以下就是我想要的程式流程: TJPEGImage *jpg = new TJPEGImage(); jpg->LoadFromFile("c:\\test.jpg"); //->取得TJPEGImage中儲存jpeg檔案FFD8~FFD9的內容 //->利用解壓函數解出Bitmap檔案 //->修改Bitmap檔案內容 //->重新壓成jpeg檔 delete jgp;danielj 你好: 如果是這樣子的話,那應該就不需要再用到 TJPEGImage 這個元件了,因為你已 經有自己的 JPEG Encoder/Decoder,只需要再配合幾個 TMemoryStream 就可以 達到目的,想像中的程式流程架構應該像以下這個樣子吧 >>
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
danielj
初階會員 發表:65 回覆:135 積分:40 註冊:2003-06-11 發送簡訊給我 |
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 再次感謝RaynorPao您的回覆! 其實我是想藉用TJPEGImage元件來秀圖,我想用類似 Canvas->Draw(x,y,jpg); 這樣的指令 另外,不知道RaynorPao大大您知道怎麼把bitmap"直接"放到TBitmap元件中?小弟只會用ScanLine一行一行複製…danielj 你好: 有很多種方法啊,建議你自己查詢 BCB Help 中的說明 < class="code"> Graphics::TBitmap *bmp=new Graphics::TBitmap; //.................................................................... bmp->Assign(AnotherBmp); bmp->Assign(AnotherJpg); bmp->LoadFromStream(...); bmp->LoadFromFile(...); bmp->Canvas->Draw(...); bmp->Canvas->CopyRect(...); bmp->Canvas->StretchDraw(...); //.................................................................... delete bmp; -- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
danielj
初階會員 發表:65 回覆:135 積分:40 註冊:2003-06-11 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
danielj
初階會員 發表:65 回覆:135 積分:40 註冊:2003-06-11 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
danielj
初階會員 發表:65 回覆:135 積分:40 註冊:2003-06-11 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |