想請問處理JPEG檔的問題 |
尚未結案
|
chuckjr
一般會員 發表:11 回覆:20 積分:6 註冊:2002-12-21 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
chuckjr您好:
您可以參考下面的Code(承接之前的範例程式),方法可能不是很好,您參考看看
Graphics::TBitmap *bmpBuf=new Graphics::TBitmap; Graphics::TBitmap *bmp1=new Graphics::TBitmap; TJPEGImage*jpg1=new TJPEGImage(); bmpBuf->Width=160; bmpBuf->Height=120; bmpBuf->Canvas->CopyMode=cmSrcCopy; jpg1->LoadFromFile("左上.jpg"); bmp1->Assign(jpg1); bmpBuf->Canvas->CopyRect(Rect(0,0,80,60), bmp1->Canvas,Rect(0,0,80,60)); bmp1->ReleaseHandle(); jpg1->LoadFromFile("右上.jpg"); bmp1->Assign(jpg1); bmpBuf->Canvas->CopyRect(Rect(80,0,160,60), bmp1->Canvas,Rect(0,0,80,60) ); bmp1->ReleaseHandle(); jpg1->LoadFromFile("左下.jpg"); bmp1->Assign(jpg1); bmpBuf->Canvas->CopyRect(Rect(0,60,80,120), bmp1->Canvas,Rect(0,0,80,60) ); bmp1->ReleaseHandle(); jpg1->LoadFromFile("右下.jpg"); bmp1->Assign(jpg1); bmpBuf->Canvas->CopyRect(Rect(80,60,160,120), bmp1->Canvas, Rect(0,0,80,60)); bmp1->ReleaseHandle(); bmpBuf->SaveToFile("合併.bmp"); Image6->Picture->LoadFromFile("合併.bmp"); delete bmpBuf; delete bmp1; delete jpg1;因為我們沒有辦法讀取JPG圖檔的RGB值(即沒有jpg->Canvas), 所以只好將圖片再Assign給TBitmap(變BMP檔)來達到合併的目的 當然最後還是可以再壓縮成JPG檔案 順心 <>~我也是在學習的階段,所以請您多多見諒與指教~> 發表人 - |
chuckjr
一般會員 發表:11 回覆:20 積分:6 註冊:2002-12-21 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
chuckjr您好:
bmp1->ReleaseHandle();這一行也是我最近才知道的,參考下面連結
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=32646 節錄自HELP
Use ReleaseHandle to disassociate the bitmap from the bitmap handle. Use it when you need to give a bitmap handle to a routine or object that will assume ownership (or destroy) the bitmap handle. 您自己可以看看加與不加的效果 順心 <>~我也是在學習的階段,所以請您多多見諒與指教~> 發表人 -
|
chuckjr
一般會員 發表:11 回覆:20 積分:6 註冊:2002-12-21 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
chuckjr
一般會員 發表:11 回覆:20 積分:6 註冊:2002-12-21 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |