📄 unit2.~pas
字号:
dwBytesPerSecond: DWORD ; //* bytes per second */
dwFlags: DWORD; //* flags... see below */
lpFormat: POINTER; //* save format */
cbFormat: DWORD;
lpParms: POINTER; // /* compressor options */
cbParms: DWORD;
dwInterleaveEvery: DWORD; //* for non-video streams only */
end;
TYPE PRECT = ^RECT;
RECT = RECORD
left, top,
right, bottom : INTEGER;
END;
TYPE MV_FILETYPE = ( RAW=0, BMP=1, JPEG=2 );
TYPE CALLBACKTYPE =( BEFORE_PROCESS = 0, AFTER_PROCESS = 1, NO_USED = 2 );
////////////////////////////////////////////////////////////////////////////////////////
// typedef BOOL (WINAPI *CALLBACKFUNC)( PVOID pData, PMV_IMAGEINFO pImageInfo, PVOID pUserData, ULONG Index );
// typedef VOID (WINAPI *PTRIGGEROUTINE)( ULONG UniquelyID, ULONG Reson, PVOID pContext );
// typedef VOID (WINAPI *CONTINUEGARBMECHANISM)( PVOID pData, PMV_IMAGEINFO pImage, ULONG ImageNumber, ULONG wholeLength, PVOID pUserData );
TYPE PCONTINUECALL = ^CONTINUECALL;
CONTINUECALL = RECORD
pContinueCall : POINTER;
pContext : POINTER;
END;
TYPE PTRIGGERCALL = ^TRIGGERCALL;
TRIGGERCALL = RECORD
pTirggerCall : POINTER;
pContext : POINTER;
END;
// TYPE PPOINT = ^TPOINT;
// TPOINT = RECORD
// x, y : integer;
// END;
CONST B_CHANNEL = $00000001;
CONST G_CHANNEL = $00000002;
CONST R_CHANNEL = $00000004;
TYPE PMV_RGB = ^TMV_RGB;
TMV_RGB = RECORD
R_hWnd : HWND;
R_Rect : RECT;
G_hWnd : HWND;
G_Rect : RECT;
B_hWnd : HWND;
B_Rect : RECT;
END;
TYPE VIDEOSIGNAL = ( GLLEVEL = 0, DIVIDER = 1, ISINTERLACE = 2, XSHIFT = 3, YSHIFT= 4,
XSIZE = 5, YSIZE = 6, VCOR = 7, VCOG = 8, LP = 9,
LINEFREQENCY = 10, LINETOTAL = 11, LINEACTIVETIME= 12, LINESYNTIME= 13,
LINESHOULDER = 14, FRAMENUM = 15, FIELDSYNTIME = 16, FIELDTOTAL= 17,
FIELDSHOULDER= 18, SOURFREQ = 19, FREQSUB = 20 );
{
TYPE PPGDIOPERATION = ^TPGDIOPERATION;
TPGDIOPERATION = RECORD
pIs : POINTER;
SetGDIText : POINTER;
SetGDITextColor : POINTER;
SetGDITextFormat : POINTER;
SetGDITextPosition : POINTER;
SetGDIGraph : POINTER;
SetGDIGraphPen : POINTER;
SetGDICanCalAll : POINTER;
SetGDICanCalOne : POINTER;
END;
}
// typedef VOID (WINAPI *GDIOPERATIONFUNC)( PGDIOPERATION pOper, PVOID pVal1, PVOID pVal2, PVOID pVal3 );
// 错误提示
function MV_GetLastError( bDisplayErrorStyring : BOOLEAN ):DWORD; stdcall; external 'MVAPI.dll';
// 保存pImageData中图像到MV_FILETYPE指定类型的文件
function MV_SaveFile( FileName:PUCHAR; FileType:MV_FILETYPE; pImageData:POINTER; pImage:PMV_IMAGEINFO;
ImageTotal:ULONG; IsUpDown,ColororNot:BOOLEAN; Quality:ULONG;
bRGB15:BOOLEAN ):BOOLEAN; stdcall; external 'MVAPI.dll';
function MV_SaveFilePro( FileName:PUCHAR; FileType:MV_FILETYPE; pImageData:POINTER; pImage:PMV_IMAGEINFO;
ImageTotal:ULONG; IsUpDown,ColororNot:BOOLEAN; Quality:ULONG;
bRGB15:BOOLEAN ):BOOLEAN; stdcall; external 'MVAPI.dll';
// 得到主机中插的微视的卡数
function MV_GetDeviceNumber():DWORD; stdcall; external 'MVAPI.dll';
// 创建设备
function MV_OpenDevice(Index:DWORD; bRelese:BOOLEAN):HANDLE; stdcall; external 'MVAPI.dll';
// 删除设备
procedure MV_CloseDevice( hDevice:HANDLE ); stdcall; external 'MVAPI.dll';
// 操纵设备
function MV_OperateDevice( hDevice:HANDLE; Oper:RUNOPER):RUNOPER; stdcall; external 'MVAPI.dll';
// 设置设备的参数
function MV_SetDeviceParameter( hDevice:HANDLE; Oper:MV_PARAMTER; Val:DWORD ):BOOLEAN; stdcall; external 'MVAPI.dll';
// 得到设备的参数
function MV_GetDeviceParameter( hDevice:HANDLE; Oper:MV_PARAMTER ):integer; stdcall; external 'MVAPI.dll';
function MV_ResetDeviceParam( hDevice:HANDLE ):BOOLEAN; stdcall; external 'MVAPI.dll';
// 捕获一帧
function MV_CaptureSingle( hDevice:HANDLE; IsProcess:BOOLEAN; InBuff:POINTER;
BuffLen:ULONG; pInfo:PMV_IMAGEINFO):POINTER; stdcall; external 'MVAPI.dll';
// 设置设备的回调
function MV_SetCallBack( hDevice:HANDLE; pCallBack:POINTER; pUserData:POINTER;
CallType:CALLBACKTYPE ):BOOLEAN;stdcall; external 'MVAPI.dll';
// 输出控制
function MV_SetOutputState( hDevice:HANDLE; Index, HorL:ULONG ):BOOLEAN; stdcall; external 'MVAPI.dll';
//输入状态读取
function MV_GetInputState(hDevice:HANDLE; Index:ULONG ):ULONG;stdcall; external 'MVAPI.dll';
// 输入触发控制
function MV_SetInputCallBack( hDevice:HANDLE; Index, UniquelyID:ULONG;
pTirggerCall, pContext:POINTER):BOOLEAN;stdcall; external 'MVAPI.dll';
// 创建自动帧测
function MV_TestSignal( hDevice:HANDLE; XSize,YSize:DWORD ):BOOLEAN; stdcall; external 'MVAPI.dll';
// 得到信号的某一个参数
function MV_GetSignalParam( hDevice:HANDLE; Signal:VIDEOSIGNAL; FloatVal,IntVal:POINTER ):DWORD; stdcall; external 'MVAPI.dll';
// 保存自动帧测的参数到Ini
function MV_SaveSignalParamToIni( hDevice:HANDLE ):BOOLEAN; stdcall; external 'MVAPI.dll';
function MV_SplitRGB( hDevice:HANDLE; pRGB:PMV_RGB; DispType,DispPolicy,CallBackPolicy:ULONG ):BOOLEAN; stdcall; external 'MVAPI.dll';
// 按OsdMode模式使能OSD(掩码)功能:
function MV_SetMaskFunction( hDevice:HANDLE; OsdMode:ULONG ):BOOLEAN; stdcall; external 'MVAPI.dll';
// 将OSD图案发送到设备
function MV_SetMaskBit( hDevice:HANDLE; MaskArea:RECT; pBitPattern:POINTER ):BOOLEAN; stdcall; external 'MVAPI.dll';
function MV_MakeMaskBit( hDevice:HANDLE; hWnd:HWND; Area:RECT; Color:COLORREF ):POINTER; stdcall; external 'MVAPI.dll';
// 对设备分配大帧存
function MV_AllocSequenceFrameMemory( hDevice:HANDLE; Action, Number:ULONG;
MemoryType:CALLBACKTYPE ):BOOLEAN; stdcall; external 'MVAPI.dll';
// 对设备释放大帧存
function MV_FreeSequenceFrameMemory( hDevice:HANDLE ):BOOLEAN; stdcall; external 'MVAPI.dll';
// 对大帧存开始连续捕获
function MV_StartSequenceCapture( hDevice:HANDLE; pContinueCall, pContext:POINTER ):BOOLEAN; stdcall; external 'MVAPI.dll';
// 对大帧存停止连续捕获
function MV_StopSequenceCapture( hDevice:HANDLE ):integer; stdcall; external 'MVAPI.dll';
// 根据FrameNo返回帧号地址和帧属性
function MV_GetSequenceFrameAddress( hDevice:HANDLE; FrameNo:ULONG; pProperty:PMV_IMAGEINFO ):POINTER; stdcall; external 'MVAPI.dll';
function MV_ReadPixel( pProperty:PMV_IMAGEINFO; pImageData:POINTER; Point:PPOINT; pVal:POINTER ):ULONG; stdcall; external 'MVAPI.dll';
procedure MV_WritePixel( pProperty:PMV_IMAGEINFO; pImageData:POINTER; Point:PPOINT; pVal:POINTER ); stdcall; external 'MVAPI.dll';
function MV_ReadLine( pProperty:PMV_IMAGEINFO; pImageData:POINTER; nLine:ULONG; pVal:POINTER ):ULONG; stdcall; external 'MVAPI.dll';
procedure MV_WriteLine( pProperty:PMV_IMAGEINFO; pImageData:POINTER; nLine:ULONG; pVal:POINTER ); stdcall; external 'MVAPI.dll';
function MV_ReadArea( pProperty:PMV_IMAGEINFO; pImageData:POINTER; pRect:PRECT; pVal:PBYTE ):ULONG; stdcall; external 'MVAPI.dll';
procedure MV_WriteArea( pProperty:PMV_IMAGEINFO; pImageData:POINTER; pRect:PRECT; pVal:PBYTE ); stdcall; external 'MVAPI.dll';
function MV_LabView_OperateDevice( hDevice:HANDLE; Oper:RUNOPER ):RUNOPER; stdcall; external 'MVAPI.dll';
function MV_LabView_GetBuffer( hDevice:HANDLE ):POINTER; stdcall; external 'MVAPI.dll';
function MV_LabView_GetLength( hDevice:HANDLE ):ULONG; stdcall; external 'MVAPI.dll';
function MV_LabView_GetnColor( hDevice:HANDLE ):ULONG; stdcall; external 'MVAPI.dll';
function MV_LabView_GetHeigth( hDevice:HANDLE ):ULONG; stdcall; external 'MVAPI.dll';
function MV_LabView_GetWidth( hDevice:HANDLE ):ULONG; stdcall; external 'MVAPI.dll';
function MV_LabView_GetLineSkipPixel( hDevice:HANDLE ):ULONG; stdcall; external 'MVAPI.dll';
function MV_CreateAvi( FileName:POINTER; pInfo:PMV_IMAGEINFO; dwRate:ULONG ):HANDLE; stdcall; external 'MVAPI.dll';
procedure MV_WriteAvi( hAvi:HANDLE; pBuffer:POINTER; pInfo:PMV_IMAGEINFO; Index:integer ); stdcall; external 'MVAPI.dll';
procedure MV_CloseAvi( hAvi:HANDLE ); stdcall; external 'MVAPI.dll';
procedure MV_AVIFileInit(filetype:DWORD ;framerate: ULONG);stdcall; external 'mvavi.dll';
procedure MV_AVIFileFini();stdcall; external 'mvavi.dll';
function MV_AVIFileOpen(index: ULONG;lpszFileName: LPCTSTR ;alpb: PBITMAPINFO ;wSkipRate: WORD; bShowOptions : Boolean; m_aopts: PAVICOMPRESSOPTIONS):Boolean;stdcall; external 'mvavi.dll';
function MV_AVIFileAddFrame(index: ULONG;alpb: PBITMAPINFO ;alpImageBits: PBYTE ):Boolean;stdcall; external 'mvavi.dll';
implementation
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -