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

如何將一連串Jpeg圖檔, 轉存為Motion Jpeg

答題得分者是:wameng
frog1
一般會員


發表:25
回覆:40
積分:18
註冊:2007-01-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-07-25 17:41:41 IP:219.81.xxx.xxx 訂閱
Hi,各位先進
個人需把一連串的Jpeg圖片, 依序顯示在營幕後,轉為Motion Jpeg或AVI存檔
顯示的部份, 我已 將圖片 LOAD到 TMemoryStream, 並在TImage1顯示了
但如何將此TMemoryStream轉為 Motion Jpeg等影像檔不會做
爬了二天的格子, 在K-Top上是有很多存AVI的範例, 可是都是由設備裝置傳圖像來做的
,也不知要Import那個Library才可引用 AVICAP(看到的範例大都用此), 我的用 MemoryStream
開始應該會比較容易吧
請有經驗的先進指導

wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-07-26 16:47:10 IP:61.222.xxx.xxx 訂閱
MJPEG 範例 
http://delphi.icm.edu.pl/ftp/d60free/mjpeg_test_1.zip
frog1
一般會員


發表:25
回覆:40
積分:18
註冊:2007-01-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-07-27 13:26:24 IP:210.241.xxx.xxx 訂閱
感謝版主的支援, 正拜讀中
如有不懂再請版主解感

frog1
一般會員


發表:25
回覆:40
積分:18
註冊:2007-01-24

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-07-30 11:41:26 IP:210.241.xxx.xxx 訂閱
Hi,
研讀了好些天, 還是要請求解感
在Bmp檔案大小800以下可以轉檔, 但檔案大小到1400(維度800*600)就不行了
問題出在
function CreateMJPEGfile() 的
if (not GetDIB(Bitmap.Handle, Bitmap.Palette, BitmapInfoHeader^, Image^)) then
begin
if (BitmapInfoHeader <> nil) then FreeMem(BitmapInfoHeader);
if (Image <> nil) then FreeMem(Image);
CloseFile(mjpegfile); ior := ioresult;
DeleteFile(MJPEGFilename);
// MessageDlg('Error: Getting BitmapInfo', mtError, [mbOk], 0);
exit;
end;

GetDIB(Bitmap.Handle, Bitmap.Palette, BitmapInfoHeader^, Image^) 值應為 False, 所以資料被清除了,目標AVI檔也刪除了
又不知GetDIB的內容,
我的JPEG的檔案維度為1290*960, 不知要如何修改此程式
懇請版主再協助


系統時間:2024-04-20 18:23:48
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!