我的程序中需要加入视频监控和抓图的功能,买的是404hf卡,也有sdk,但是对一些函数的调用参数理解不清楚,现在还没实现上述功能,哪位仁兄能指点一下,给点代码更好!
解决方案 »
- 在DELPHI中如何改变VFP数据库的表结构?
- BusinessSkin 控件 控件 bsSkinSpeedButton 控件加一个位图后 在设计前,设置好高度以后,怎么运行了以后总是控件的默认高度。。。郁闷。
- 插入带有自动编号字段的access表时老是报错?
- edit1.text 的内容查询还需要转换么?菜鸟不好意思,请指教在线等!!急
- delphi5.0
- 如何在delphi窗口中打开excel表?
- IIS 奇怪问题:ASP访问应用服务器COM接口,结果不对?
- DELPHI怎么生成从1到9的5个数
- sql server 求助!!!!
- 有没有专门用来取得TDateTime的日期或时间的函数?
- 关于TShellTreeView的几个问题
- 自动连接到服务器
发表日期:2003-3-1 文章作者:未知 已浏览: 233 次 字体大小:[- +]
视频采集 (2001年4月23日) 网友更新 分类:数据库 作者: zhuhongqing(推荐) 推荐:zhuhongqing 阅读次数:1321
(http://www.tommstudio.com/newclub30/) --------------------------------------------------------------------------------
广 告
想收藏本站的编程技巧吗?向您推荐一个可以方便地收藏整理网上编程技巧软件--网络收藏家。 unit Unit1; interface uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls; type
TForm1 = class(TForm)
Panel1: TPanel;
OpenVideo: TButton;
CloseVideo: TButton;
GrabFrame: TButton;
SaveBMP: TButton;
StartAVI: TButton;
StopAVI: TButton;
SaveDialog1: TSaveDialog;
procedure FormCreate(Sender: TObject);
procedure OpenVideoClick(Sender: TObject);
procedure CloseVideoClick(Sender: TObject);
procedure GrabFrameClick(Sender: TObject);
procedure SaveBMPClick(Sender: TObject);
procedure StartAVIClick(Sender: TObject);
procedure StopAVIClick(Sender: TObject);
private
{ Private declarations }
hWndC : THandle;
CapturingAVI : bool;
public
{ Public declarations }
end; var
Form1: TForm1; implementation {$R *.DFM} const WM_CAP_START = WM_USER;
const WM_CAP_STOP = WM_CAP_START + 68;
const WM_CAP_DRIVER_CONNECT = WM_CAP_START + 10;
const WM_CAP_DRIVER_DISCONNECT = WM_CAP_START + 11;
const WM_CAP_SAVEDIB = WM_CAP_START + 25;
const WM_CAP_GRAB_FRAME = WM_CAP_START + 60;
const WM_CAP_SEQUENCE = WM_CAP_START + 62;
const WM_CAP_FILE_SET_CAPTURE_FILEA = WM_CAP_START + 20; function capCreateCaptureWindowA(lpszWindowName : PCHAR;
dwStyle : longint;
x : integer;
y : integer;
nWidth : integer;
nHeight : integer;
ParentWin : HWND;
nId : integer): HWND;
STDCALL EXTERNAL ’AVICAP32.DLL’; procedure TForm1.FormCreate(Sender: TObject);
begin
CapturingAVI := false;
hWndC := 0;
SaveDialog1.Options :=
[ofHideReadOnly, ofNoChangeDir, ofPathMustExist]
end; procedure TForm1.OpenVideoClick(Sender: TObject);
begin
hWndC := capCreateCaptureWindowA(’My Own Capture Window’,
WS_CHILD or WS_VISIBLE ,
Panel1.Left,
Panel1.Top,
Panel1.Width,
Panel1.Height,
Form1.Handle,
0);
if hWndC <> 0 then
SendMessage(hWndC, WM_CAP_DRIVER_CONNECT, 0, 0);
end; procedure TForm1.CloseVideoClick(Sender: TObject);
begin
if hWndC <> 0 then begin
SendMessage(hWndC, WM_CAP_DRIVER_DISCONNECT, 0, 0);
hWndC := 0;
end;
end; procedure TForm1.GrabFrameClick(Sender: TObject);
begin
if hWndC <> 0 then
SendMessage(hWndC, WM_CAP_GRAB_FRAME, 0, 0);
end; procedure TForm1.SaveBMPClick(Sender: TObject);
begin
if hWndC <> 0 then begin
SaveDialog1.DefaultExt := ’bmp’;
SaveDialog1.Filter := ’Bitmap files (*.bmp)|*.bmp’;
if SaveDialog1.Execute then
SendMessage(hWndC,
WM_CAP_SAVEDIB,
0,
longint(pchar(SaveDialog1.FileName)));
end;
end; procedure TForm1.StartAVIClick(Sender: TObject);
begin
if hWndC <> 0 then begin
SaveDialog1.DefaultExt := ’avi’;
SaveDialog1.Filter := ’AVI files (*.avi)|*.avi’;
if SaveDialog1.Execute then begin
CapturingAVI := true;
SendMessage(hWndC,
WM_CAP_FILE_SET_CAPTURE_FILEA,
0,
Longint(pchar(SaveDialog1.FileName)));
SendMessage(hWndC, WM_CAP_SEQUENCE, 0, 0);
end;
end;
end; procedure TForm1.StopAVIClick(Sender: TObject);
begin
if hWndC <> 0 then begin
SendMessage(hWndC, WM_CAP_STOP, 0, 0);
CapturingAVI := false;
end;
end; end.