VB程序VB代码摄像头视频图像的监控截图录像改进Word文档格式.docx

上传人:b****1 文档编号:3159740 上传时间:2023-05-01 格式:DOCX 页数:15 大小:103.37KB
下载 相关 举报
VB程序VB代码摄像头视频图像的监控截图录像改进Word文档格式.docx_第1页
第1页 / 共15页
VB程序VB代码摄像头视频图像的监控截图录像改进Word文档格式.docx_第2页
第2页 / 共15页
VB程序VB代码摄像头视频图像的监控截图录像改进Word文档格式.docx_第3页
第3页 / 共15页
VB程序VB代码摄像头视频图像的监控截图录像改进Word文档格式.docx_第4页
第4页 / 共15页
VB程序VB代码摄像头视频图像的监控截图录像改进Word文档格式.docx_第5页
第5页 / 共15页
VB程序VB代码摄像头视频图像的监控截图录像改进Word文档格式.docx_第6页
第6页 / 共15页
VB程序VB代码摄像头视频图像的监控截图录像改进Word文档格式.docx_第7页
第7页 / 共15页
VB程序VB代码摄像头视频图像的监控截图录像改进Word文档格式.docx_第8页
第8页 / 共15页
VB程序VB代码摄像头视频图像的监控截图录像改进Word文档格式.docx_第9页
第9页 / 共15页
VB程序VB代码摄像头视频图像的监控截图录像改进Word文档格式.docx_第10页
第10页 / 共15页
VB程序VB代码摄像头视频图像的监控截图录像改进Word文档格式.docx_第11页
第11页 / 共15页
VB程序VB代码摄像头视频图像的监控截图录像改进Word文档格式.docx_第12页
第12页 / 共15页
VB程序VB代码摄像头视频图像的监控截图录像改进Word文档格式.docx_第13页
第13页 / 共15页
VB程序VB代码摄像头视频图像的监控截图录像改进Word文档格式.docx_第14页
第14页 / 共15页
VB程序VB代码摄像头视频图像的监控截图录像改进Word文档格式.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

VB程序VB代码摄像头视频图像的监控截图录像改进Word文档格式.docx

《VB程序VB代码摄像头视频图像的监控截图录像改进Word文档格式.docx》由会员分享,可在线阅读,更多相关《VB程序VB代码摄像头视频图像的监控截图录像改进Word文档格式.docx(15页珍藏版)》请在冰点文库上搜索。

VB程序VB代码摄像头视频图像的监控截图录像改进Word文档格式.docx

Check1:

在属性窗口将Index属性设置为0,将Style属性设置为1

Picture1:

不必设置任何属性

Timer1:

程序调试时要注意:

终止程序要用运行中的Form1窗口关闭。

不要使用VB主窗口的菜单命令或VB工具栏上的关闭按钮,这样无法关闭打开的视频窗口,导致VB无响应。

如果VB无响应,只有用系统任务管理器才能终止VB进程,调试过程中所做的修改将丢失。

本人原创,转载请注明来源:

PublicctCapWinAsLong,ctRecAsBoolean,ctDirAsString,ctFAsString,ctAutoSizeAsBoolean

DimctRefreshAsBoolean,ctConnectAsBoolean,ctAutoHideAsBoolean,IsFillScreenAsBoolean

PrivateDeclareFunctionGetCursorPosLib&

quot;

user32&

(lpPointAsPointAPI)AsLong

PrivateTypePointAPI

XAsLong:

YAsLong

EndType

PrivateDeclareFunctionSetWindowPosLib&

(ByValhwndAsLong,ByValhWndInsertAfterAsLong,ByValXAsLong,ByValYAsLong,ByValcXAsLong,ByValcYAsLong,ByValwFlagsAsLong)AsLong

ConstHWND_Top=0 

hWndInsertAfter参数:

Z序列的顶部

ConstHWND_TopMost=-1 

最前

ConstHWND_NoTopMost=-2 

不在最前

ConstHWND_Bottom=1 

位于底层

ConstSWP_NoSize=&

amp;

H1 

wFlags参数

ConstSWP_NoMove=&

H2

ConstSWP_NoZorder=&

H4

ConstSWP_NoActivate=&

H10

ConstSWP_ShowWindow=&

H40

ConstSWP_HideWindow=&

H80

PrivateDeclareFunctionSendMessageLib&

Alias&

SendMessageA&

(ByValhwndAsLong,ByValwMsgAsLong,ByValwParamAsLong,lParamAsAny)AsLong

PrivateDeclareFunctionSendMessageLongLib&

(ByValhwndAsLong,ByValwMsgAsLong,ByValwParamAsLong,lParamAsLong)AsLong

PrivateDeclareFunctionPostMessageLib&

PostMessageA&

(ByValhwndAsLong,ByValwMsgAsLong,ByValwParamAsLong,ByVallParamAsLong)AsLong

ConstWM_Close=&

PrivateDeclareFunctioncapGetDriverDescriptionALib&

avicap32.dll&

(ByValwDriverAsInteger,ByVallpszNameAsString,ByValcbNameAsLong,ByVallpszVerAsString,ByValcbVerAsLong)AsBoolean

PrivateDeclareFunctioncapCreateCaptureWindowLib&

capCreateCaptureWindowW&

(ByVallpszWindowNameAsString,ByValdwStyleAsLong,ByValXAsLong,ByValYAsLong,ByValnWidthAsLong,ByValnHeightAsLong,ByValhwndParentAsLong,ByValnIDAsLong)AsLong

ConstWS_Child=&

H40000000

ConstWS_Visible=&

H10000000

ConstWS_Caption=&

HC00000

ConstWS_ThickFrame=&

H40000

ConstGET_Frame=1084

ConstWM_User=&

H400 

用户消息开始号,偏移地址:

1024

ConstWM_CAP_GET_CAPSTREAMPTR=WM_User+1 

ConstWM_CAP_SET_CALLBACK_ERROR=WM_User+2 

当出错回调函数

ConstWM_CAP_SET_CALLBACK_STATUS=WM_User+3 

当状态(status)改变的时回调函数

ConstWM_CAP_SET_CALLBACK_YIELD=WM_User+4 

在流捕获期间的回调函数

ConstWM_CAP_SET_CALLBACK_FRAME=WM_User+5 

帧预览回调函数

ConstWM_CAP_SET_CALLBACK_VIDEOSTREAM=WM_User+6'

在流捕获期间,当一个新的视频缓存区可用的时候就调用它

ConstWM_CAP_SET_CALLBACK_WAVESTREAM=WM_User+7 

在流捕获期间,当一个新的音频缓存区可用的时候就调用它

ConstWM_CAP_GET_USER_DATA=WM_User+8'

获取:

数据关联到一个捕捉窗口

ConstWM_CAP_SET_USER_DATA=WM_User+9'

设置:

ConstWM_CAP_DLG_VideoFormat=WM_User+41 

对话框:

视频格式

ConstWM_CAP_DLG_VideoSource=WM_User+42 

视频源,枚举视频源,控制颜色、对比度、饱和度的改变。

需视频驱动程序支技

ConstWM_CAP_DLG_VideoDisplay=WM_User+43 

视频显示?

控制视频捕捉过程中视频在显示器上的显示。

对捕捉数据无影响,但会影响数了信号表达式

ConstWM_CAP_DLG_VideoCompression=WM_User+46'

视频压缩

PrivateEnumenWinSet

en_Copy=-1

es_Show=0

es_Hide

es_Close

es_Move

es_Size

EndEnum

捕捉文件和缓存

ConstWM_Cap_File_Set_File=WM_User+20'

设置当前的捕捉文件

ConstWM_Cap_File_Get_File=WM_User+21'

得到当前的捕捉文件

ConstWM_CAP_FILE_ALLOCATE=WM_User+22'

为捕捉文件预分配空间,从而可以减少被漏掉的帧

ConstWM_CAP_FILE_SaveAs=WM_User+23'

将捕捉文件保存为另一个用户指定的文件。

这个消息不会改变捕捉文件的名字和内容,

由于捕捉文件保留它最初的文件名,因此必须指定个新的文件的文件名来保存

ConstWM_CAP_FILE_SET_INFOCHUNK=WM_User+24'

可以把信息块例如文本或者自定义数据插入avi文件。

同样用这个消息也可以清除avi文件中的信息块

ConstWM_CAP_FILE_SaveDIB=WM_User+25'

把从帧缓存中复制出图像存为设备无关位图书馆(DIB),应用程序也可以使用这两个单帧捕捉消息来编辑帧序列,

或者创建一个慢速摄影序列

ConstWM_CAP_Edit_Copy=WM_User+30'

1054:

把缓存中图像复制到剪贴板中

ConstWM_CAP_SET_AUDIOFORMAT=WM_User+35'

设置音频格式。

设置时传入一个WAVEFORMAT、WAVEFORMATEX、或PCMWAVEOFMAT结构的指针

ConstWM_CAP_GET_AUDIOFORMAT=WM_User+36'

来得到音频数据的格式和该格式结构体的大小。

默认的捕捉音频格式是mono、8-bit和11kHZPCM

ConstWM_CAP_Get_VideoFormat=WM_User+44'

给捕捉窗口来得到视频格式的结构和该结构的大小。

ConstWM_CAP_SET_VideoFormat=WM_User+45'

用来设置视频格式

ConstWM_CAP_SET_PreView=WM_User+50'

发送给捕捉窗口来使预览模式有效或者失效

ConstWM_CAP_SET_Overlay=WM_User+51'

使窗口处于叠加模式。

使叠加模式有效也会自动地使预览模式失效

ConstWM_CAP_SET_PreViewRate=WM_User+52'

发送给捕捉窗口来设置在预览模式下帧的显示频率

ConstWM_CAP_SET_Scale=WM_User+53'

来使预览模式的缩放有效或者无效

ConstWM_CAP_SET_SCROLL=WM_User+55'

如果是在预览模式或者叠加模式,还可以通过本消息发送给窗口,

在窗口里的用户区域设置视频帧的滚动条的位置

PrivateTypeBitMapInfoHeader'

tagBitMapInfoHeaderStructure

biSizeAsLong 

biWidthAsLong

biHeightAsLong 

LONGDWORD

biPlanesAsInteger 

WORD

biBitCountAsInteger

biCompressionAsLong

biSizeImageAsLong

biXPelsPerMeterAsLong

biYPelsPerMeterAsLong

biClrUsedAsLong

biClrImportantAsLong

PrivateTypeBitMapInfo

bmiHeaderAsBitMapInfoHeader'

bmiColorsAsByte 

RGBQUAD

基本视频捕获消息--------------------------------------

ConstWM_CAP_Connect=WM_User+10 

连接一个视频驱动,成功返回真

(1)。

连接驱动后,不一定就能显示视频,还要保证摄像头硬件连接良好、未被其他程序使用。

ConstWM_CAP_DisConnect=WM_User+11'

断开视频窗口与驱动的连接

wParam:

视频设备序号,从0到9

ConstWM_CAP_Sequence=WM_User+62'

开始录像

ConstWM_CAP_Stop=WM_User+68 

终止视频捕获

ConstWM_CAP_Abort=WM_User+69 

暂停录像捕获?

,成功返回真

ConstWM_CAP_Set_Sequence_Setup=WM_User+64

ConstWM_CAP_Get_Sequence_Setup=WM_User+65

录像参数设置和获取

DimnParmsAsCaptureParms

SendMessagectCapWin,WM_CAP_Get_Sequence_Setup,Len(nParms),nParms'

获取参数的设置

nParms.fAbortLeftMouse=False'

关闭:

单击鼠标停止录像的功能。

SendMessagectCapWin,WM_CAP_Set_Sequence_Setup,Len(nParms),nParms'

重新设置参数

PrivateTypeCaptureParms'

dwRequestMicroSecPerFrameAsLong 

DWORD

fMakeUserHitOKToCaptureAsBoolean'

开始录像时,是否显示确认对话框,默认为假

wPercentDropForErrorAsLong'

每毫秒捕捉帧率,默认66667,即每秒15帧

fYieldAsBoolean 

BOOL:

如果为TRUE,将产生一个后台线程来进行视频捕捉

dwIndexSizeAsLong 

DWORD:

视频文件最大的索引入口数

wChunkGranularityAsLong 

UINT:

以字节为单位表示AVI文件的大小

fUsingDOSMemoryAsBoolean 

未使用

wNumVideoRequestedAsLong 

分配视频缓冲区的最大数量

fCaptureAudioAsBoolean 

是否捕获音频流,默认值由具体的硬件设置

wNumAudioRequestedAsLong 

分配的音频缓冲区的最大数量

vKeyAbortAsLong 

结束录像的按键,默认为VK_ESCAPE(Esc键)

fAbortLeftMouseAsBoolean 

单击鼠标左键停止录像,默认为真

fAbortRightMouseAsBoolean 

单击鼠标右键停止录像,默认为假

fLimitEnabledAsBoolean 

是否开启捕获时间限制,默认为真

wTimeLimitAsLong 

捕获时间限制(秒),fLimitEnabled为真时有效

fMCIControlAsBoolean 

为TRUE,控制MCI(媒体设备接口)兼容的视频源

fStepMCIDeviceAsBoolean 

BOOL

dwMCIStartTimeAsLong 

以毫秒为单位标识MCI设备视频捕捉序列的起始位置,如果fMCIControl成员为FALSE,该成员被忽略

dwMCIStopTimeAsLong 

以毫秒为单位标识MCI设备视频捕捉序列的停止位置,如果fMCIControl成员为FALSE,该成员被忽略

fStepCaptureAt2xAsBoolean 

为TRUE,捕捉的视频帧使用两个分辨率

wStepCaptureAverageFramesAsLong'

:

在捕捉时每帧图像使用的时间大小

dwAudioBufferSizeAsLong 

音频缓冲大小,默认0

fDisableWriteCacheAsBoolean'

Win32系统未使用

AVStreamMasterAsLong 

确定在写入AVI文件时,音频流是否控制时钟

视频窗口消息--------------------------------------

(_

ByValwDriverAsInteger,ByVallpszNameAsString,ByValcbNameAsLong,ByVallpszVerAsString,ByValcbVerAsLong)AsBoolean

可利用此API获取所有驱动程序名称和版本信息。

例子:

DimSAsLong

DimlpszNameAsString*128

DimlpszVerAsString*128

Do

IfNotcapGetDriverDescriptionA(S,lpszName,128,lpszVer,128)ThenExitDo'

获得驱动程序名称和版本信息

S=S+1

Loop

ConstWM_CAP_Get_Status=WM_User+54'

获取捕捉窗口的当前状态

PrivateTypeCapStatus'

■■?

uiImageWidthAsLong 

图像宽度,像素

uiImageHeightAsLong 

图像高度,像素

fLiveWindowAsBoolean 

视频显示是否使用预览

fOverlayWindowAsBoolean 

视频显示是否使用硬件

fScaleAsBoolean 

图像是否随窗口大小自动缩放

ptScrollAsPointAPI 

POINT?

fUsingDefaultPaletteAsBoolean'

是否使用默认调色板

fAudioHardwareAsBoolean 

是否安装了音频波形硬件

fCapFileExistsAsBoolean 

是否生成了正确的捕获文件

dwCurrentVideoFrameAsLong

dwCurrentVideoFramesDroppedAsLong

dwCurrentWaveSamplesAsLong

dwCurrentTimeElapsedMSAsLong 

视频流已录像时间(毫秒)

hPalCurrentAsLong 

HPALETTE当前调色板句柄

fCapturingNowAsBoolean 

是否正在进行捕获

dwReturnAsLong 

错误返回值,根据这个数值可以调用一个错误回调函数

wNumVideoAllocatedAsLong 

视频缓冲

wNum

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2