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

vfw 抓圖

尚未結案
無聊的阿狼
一般會員


發表:9
回覆:6
積分:3
註冊:2005-09-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-09-27 11:01:31 IP:140.128.xxx.xxx 未訂閱
以下是我的程式,我把影像撥放到Panel上,我想抓圖到image上,要怎做呢? 我還想用Timer來控制,要怎做呢?
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-09-27 11:53:08 IP:59.115.xxx.xxx 未訂閱
無聊的阿狼 您好:
引言:以下是我的程式,我把影像撥放到Panel上,我想抓圖到image上,要怎做呢? 我還想用Timer來控制,要怎做呢?
不清楚您所謂的用 Timer 來控制是要控制什麼?先參考下列這一篇裡邊連結的討論文章吧,如果不符您所需的話,請再描述清楚一點。 請問如何在BCB上用webcan取得影像? http://delphi.ktop.com.tw/topic.php?TOPIC_ID=78923 7 天天敲鍵盤 v 時時按滑鼠 8 發表人 - RedSnow 於 2005/09/27 11:55:35
無聊的阿狼
一般會員


發表:9
回覆:6
積分:3
註冊:2005-09-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-09-27 23:27:01 IP:140.128.xxx.xxx 未訂閱
版主大大,我看不太懂耶(很抱歉喔!我還是新手)
taishyang
站務副站長


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-09-28 00:10:27 IP:218.168.xxx.xxx 未訂閱
引言: 版主大大,我看不太懂耶(很抱歉喔!我還是新手)
哪裡不懂,您是不是應該把有疑問的程式碼po上來
無聊的阿狼
一般會員


發表:9
回覆:6
積分:3
註冊:2005-09-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-09-28 01:34:24 IP:140.128.xxx.xxx 未訂閱
void __fastcall TForm1::Button1Click(TObject *Sender) { HWND hCapWnd; hCapWnd=capCreateCaptureWindow("My Capture Window", WS_VISIBLE | WS_CHILD ,0, 0, 320, 240,Panel1->Handle, 0); //設定CaptureWindows capDriverConnect (hCapWnd, 0); //與驅動程式連結 capPreviewRate(hCapWnd,30); //每秒影像變化張數 capPreview(hCapWnd,1); } 以上是我的程式,已經可以用Panel播放,但是我不會將影像抓到Imageg上 可以直接教我嗎?
無聊的阿狼
一般會員


發表:9
回覆:6
積分:3
註冊:2005-09-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-09-28 01:56:22 IP:140.128.xxx.xxx 未訂閱
不要將畫面直接秀在TPanel或TForm上,改秀在TImage上應該就可以了 您可以利用剪貼簿的方式將畫面秀在TImage上,下面是關鍵部分    #include  Image1->Picture->LoadFromClipboardFormat(CF_BITMAP, Clipboard()->GetAsHandle(CF_BITMAP),0); 這個我看不懂耶,可以教我嗎? 我貼上這程式好像會有錯誤耶
taishyang
站務副站長


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

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-09-28 09:25:04 IP:210.68.xxx.xxx 未訂閱
以下是可以work的程式碼
#include 
#include 
HWND vcHWND;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------    void __fastcall TForm1::FormCreate(TObject *Sender)
{
    vcHWND = capCreateCaptureWindow ( "Capture Window",
    WS_CHILD | WS_VISIBLE ,0,0,1,1,Form1->Handle, 0);  //設定視窗大小
    bool bConnect = false;
    for (int i=0; i<10; i  )
    {
        bConnect = capDriverConnect(vcHWND, i);
        if (bConnect) break;
    }
    capPreviewRate(vcHWND,33);
    capPreview(vcHWND,true);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
    capGrabFrameNoStop(vcHWND);       
    capEditCopy(vcHWND);
    if (Clipboard()->HasFormat(CF_DIB))
    {
        Image1->Picture->Bitmap->Assign(Clipboard());
    }
}
//---------------------------------------------------------------------------
這是利用剪貼簿的方式,用法Help裡都有說明,另外一種方式就是用DC把Panel的畫面擷取下來,還可以利用callback的方式擷取(若要做後續的影像處理這方式做最合適),同樣的,您可以利用關鍵字做搜尋即可找到相關文章與程式碼 P.S: PO程式碼的方式與版規說明請參考下面連結,煩請修改謝謝您的配合< > > 順心< >
無聊的阿狼
一般會員


發表:9
回覆:6
積分:3
註冊:2005-09-13

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-09-28 13:11:07 IP:140.128.xxx.xxx 未訂閱
#include  #pragma hdrstop #include #include "usb.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { HWND hCapWnd; hCapWnd=capCreateCaptureWindow("My Capture Window", WS_VISIBLE | WS_CHILD ,0, 0, 320, 240,Panel1->Handle, 0); //設定CaptureWindows capDriverConnect (hCapWnd, 0); //與驅動程式連結 capPreviewRate(hCapWnd,30); //每秒影像變化張數 capPreview(hCapWnd,1); } //------------------------------------------------------------------- 以上是我全部的程式,目前只能用Panel播放出來, 這個程式可以用callback的方式擷取嗎? 可以的話能教我用嗎? ps:希望可以講得詳細一點
taishyang
站務副站長


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

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-09-28 13:49:59 IP:210.68.xxx.xxx 未訂閱
下面連結有範例程式 http://delphi.ktop.com.tw/topic.php?topic_id=42651 奇怪,您怎麼都不搜尋呢? 再次提醒您 PO程式碼的方式與版規說明請參考下面連結,煩請修改謝謝您的配合 >
系統時間:2024-04-28 13:46:04
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!