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

關于CheckDSError的問題

尚未結案
w_1
一般會員


發表:9
回覆:1
積分:2
註冊:2004-11-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-11-17 15:48:31 IP:218.94.xxx.xxx 未訂閱
CheckDSError(RenderStream(@PIN_CATEGORY_PREVIEW, nil, Filter as IBaseFilter,Grabber as IBaseFilter, VideoWindow as IBaseFilter));//這是用Delphi寫的,如何轉為BCB。我特別看不懂如:Filter as IBaseFilter中as是什么含義,起什么作用?我是個初學者,請多指教!
bearmaster
一般會員


發表:36
回覆:45
積分:16
註冊:2004-05-27

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-11-21 12:51:33 IP:210.208.xxx.xxx 未訂閱
像這樣用應該就可以了吧.     
     ICaptureGraphBuilder2   *Graph = NULL;
IBaseFilter             *SourceFilter=NULL;
IBaseFilter             *VideoFilter=NULL;
:
:
CheckDSError(FilterGraph->QueryInterface(IID_ICaptureGraphBuilder2, &Graph));
CheckDSError(VideoWindow->QueryInterface(IID_IBaseFilter, &VideoFilter));
CheckDSError(Filter->QueryInterface(IID_IBaseFilter, &SourceFilter));    // Connect Video preview (VideoWindow)
Graph->RenderStream(&PIN_CATEGORY_PREVIEW, &MEDIATYPE_Video, SourceFilter, NULL, VideoFilter);
:
w_1
一般會員


發表:9
回覆:1
積分:2
註冊:2004-11-18

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-11-23 14:31:20 IP:218.94.xxx.xxx 未訂閱
引言: 像這樣用應該就可以了吧.
     ICaptureGraphBuilder2   *Graph = NULL;
IBaseFilter             *SourceFilter=NULL;
IBaseFilter             *VideoFilter=NULL;
:
:
CheckDSError(FilterGraph->QueryInterface(IID_ICaptureGraphBuilder2, &Graph));
CheckDSError(VideoWindow->QueryInterface(IID_IBaseFilter, &VideoFilter));
CheckDSError(Filter->QueryInterface(IID_IBaseFilter, &SourceFilter));    // Connect Video preview (VideoWindow)
Graph->RenderStream(&PIN_CATEGORY_PREVIEW, &MEDIATYPE_Video, SourceFilter, NULL, VideoFilter);
:
小弟還有一問題,髮在http://delphi.ktop.com.tw/topic.php?TOPIC_ID=81720,請高手再指導小弟一下!萬分感謝!
bearmaster
一般會員


發表:36
回覆:45
積分:16
註冊:2004-05-27

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-11-24 12:46:54 IP:210.208.xxx.xxx 未訂閱
Hi w_1,    我不確定那段程式主要功用是什麼, 但似乎是要顯示在螢幕上並且存成 jpeg file. 如果是要顯示及存檔可參考下列方式.     
// 假設顯示影像在 Image1 上    void __fastcall TForm1::SampleGrabber1Buffer(TObject *sender,
      double SampleTime, Pointer pBuffer, int BufferLen)
{
    if (!BufferLen) return;
    SampleGrabber1->GetBitmap(Image1->Picture->Bitmap, pBuffer, BufferLen);
    Application->ProcessMessages();
}    // 建議不要將存檔或大量運算寫在 SampleGrabber1Buffer() 內, 若要連續 存檔可用 Timer.
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
    Timer1->Enabled=false;        // 存成 jpeg file.
    TJPEGImage  *jpg=new TJPEGImage();
    jpg->Assign(Image1->Picture->Bitmap);
    jpg->CompressionQuality=90;//設定 Jpeg 的壓縮品質
    jpg->SaveToFile("存檔名稱");
    delete  jpg;        // 存成 bmp file.
    Image1->Picture->SaveToFile("存檔名稱");         Timer1->Enabled=true;
}    
系統時間:2024-04-20 15:10:16
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!