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

請問如何一邊撥放一邊把avi的frame存成TBitmap

答題得分者是:taishyang
bowenc
一般會員


發表:10
回覆:12
積分:4
註冊:2003-03-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-08-10 16:43:42 IP:210.60.xxx.xxx 未訂閱
就是要在撥放的同時及時把目前撥的frame轉成圖存到Bitmap上 請幫忙解答一下 謝謝
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-08-11 13:42:51 IP:140.135.xxx.xxx 未訂閱
bowenc您好:    
引言:請問如何一邊撥放一邊把avi的frame存成TBitmap
您可以參考下面連結 http://netcity1.web.hinet.net/userdata/nep2314/ 其中[BCB程式設計文件]或是[BCB程式設計範例下載] 當中的[如何在多媒體文件中批量抓取圖象] 順心
bowenc
一般會員


發表:10
回覆:12
積分:4
註冊:2003-03-06

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-08-15 20:19:58 IP:210.60.xxx.xxx 未訂閱
那個連結的程式我看了 他主要做轉換成bitmap是下面這段:    067: void __fastcall TForm1::MdPlayerClick(TObject *Sender, TMPBtnType Button,  068: bool &DoDefault)  069: {  070:  Graphics::TBitmap *MyBmp;  071:  TCanvas *MyCanvas;  072:  HDC dc;  073:  TRect rect;  074:  String name,tmp;  075:  UpdataTrackBar();  076:  if(((Button = btBack)||(Button = btStep))&& Fetchf)  077:  {  078:   try  079:   {  080:     MyBmp = new Graphics::TBitmap ;  081:     MyCanvas =new TCanvas ;  082:     rect = MdPlayer->DisplayRect ;  083:     dc = GetDC(Panel1->Handle);  084:     MyCanvas->Handle = dc;  085:     MyBmp->Width = rect.Right - rect.Left ;  086:     MyBmp->Height = rect.Bottom - rect.Top ;  087:     MyBmp->Canvas->CopyRect(rect,MyCanvas,rect);  088:     Count =Count+1;  089:     if(Count<10)name="000" IntToStr(Count); 090: else if(Count<100)name="00" IntToStr(Count); 091: else if(Count<1000)name="0" IntToStr(Count); 092: name = Path name ".bmp"; 093: MyBmp->SaveToFile(name); 094: } 095: catch(...){} 096: ReleaseDC(0,dc); 097: delete MyBmp; 098: delete MyCanvas; 099: } 100: } 不過他if那邊的條件是要按一次Back或Step才會做一次 可是我想要按一次play就一直做到完成為止 我把他改成while(MediaPlayer1->Mode == mpPlaying) 但是執行的時候按了play不會做,要再按一次Stop才會做 不知道為什麼?? ps.我的測試方法是加一個image,然後把MyBmp顯示在上面
bowenc
一般會員


發表:10
回覆:12
積分:4
註冊:2003-03-06

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-08-16 01:15:44 IP:210.60.xxx.xxx 未訂閱
自問自答......... 我把程式改成了這個 http://galileo.spaceports.com/~bowenc/Mplayer.rar 不過還有幾個問題 因為我用do-while讓他一直做轉換的動作 所以按了play之後進入了回圈就沒辦法在按其他動作了 (會一直做到播完一遍為止) 還有我用TrackBar去改變一開始MediaPlayer->Position的位置 可是用MediaPlayer->Play()去播卻都是從頭開始? 是因為用Play()播的關係嗎? 最理想的結果是能夠自由的從某個位置開始而且可以中途終止 不知道是否有方法可以達成 請各位大大們幫忙一下 謝謝
系統時間:2024-04-29 22:20:40
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!