全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1812
推到 Plurk!
推到 Facebook!

TSampleGrabber的使用方式?

尚未結案
alnetkane
一般會員


發表:1
回覆:1
積分:0
註冊:2003-01-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-09-13 12:10:24 IP:140.115.xxx.xxx 未訂閱
請問各位前輩,小弟已經有用DSPACK顯示電視卡AV信號攝影機影像,我有試著用 TSampleGrabber去抓圖,抓圖出來都是0Kb.請問我的問題出在那麼呢? 謝謝回答~~     
 
void __fastcall TForm2::FormShow(TObject *Sender)
{      FilterGraph->ClearGraph();
  FilterGraph->Active = false;
  Filter->BaseFilter->Moniker = Form1->SysDev->GetMoniker(Form1->ListBox1->ItemIndex);
  FilterGraph->Active = true;
  CheckDSError(FilterGraph->QueryInterface(IID_ICaptureGraphBuilder2, &Graph));
  CheckDSError(VideoWindow->QueryInterface(IID_IBaseFilter, &VideoFilter));
  CheckDSError(Filter->QueryInterface(IID_IBaseFilter, &SourceFilter));      HRESULT hr;
  hr = Graph->FindInterface(&LOOK_UPSTREAM_ONLY, NULL, SourceFilter,
       IID_IAMCrossbar, (void**)&pXBar1);
  if (SUCCEEDED(hr))
  {
    pXBar1->Route(0,1);
    pXBar1->Release();
  }
  Graph->RenderStream(&PIN_CATEGORY_CAPTURE, NULL, SourceFilter, NULL, VideoFilter);
  FilterGraph->Play();
  Graph->Release();
  VideoFilter->Release();
  SourceFilter->Release();    }    void __fastcall TForm2::VideoWindowClick(TObject *Sender)
{
  FilterGraph->Stop();
  PinList = new TPinList(SourceFilter);
  for(int i = 0; i<=PinList->Count-1;i  )
  {
    if (PinList->Connected[i])
      ShowPinPropertyPage((unsigned int)this->Handle, PinList->Items[i]);
  }
  FilterGraph->Play();
}
//---------------------------------------------------------------------------    void __fastcall TForm2::Button1Click(TObject *Sender)
{
 
  pBitmap = new Graphics::TBitmap();
  SampleGrabber->GetBitmap(pBitmap);
  pBitmap->SaveToFile("c:\\test.bmp");
  delete pBitmap;
  
}        
bearmaster
一般會員


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-09-17 11:47:22 IP:218.169.xxx.xxx 未訂閱
試試看唄:     
 
IBaseFilter    *CaptureFilter=NULL;
:
:
  CheckDSError(VideoWindow->QueryInterface(IID_IBaseFilter, &VideoFilter));

  CheckDSError(SampleGrabber1->QueryInterface(IID_IBaseFilter, &CaptureFilter)); // 加入這行      CheckDSError(Filter->QueryInterface(IID_IBaseFilter, &SourceFilter));
:
:
  Graph->RenderStream(&PIN_CATEGORY_CAPTURE, NULL, SourceFilter, NULL, VideoFilter);      Graph->RenderStream(&PIN_CATEGORY_CAPTURE, &MEDIATYPE_Video, SourceFilter, NULL, CaptureFilter);//加入這行    :
:
alnetkane
一般會員


發表:1
回覆:1
積分:0
註冊:2003-01-03

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-09-25 01:23:09 IP:61.222.xxx.xxx 未訂閱
還是不行耶!!! 謝謝你的回答~~ 不知道是不是DSpack 2.31的問題?
系統時間:2024-05-04 6:03:40
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!