⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cg300api.pas

📁 求是科技出版的《Delphi串口通信工程开发实例导航》所有的源代码。是一本很好的书。拿出来与大家共享。
💻 PAS
字号:

//*
//*-----------------------------------------------------------------------------
//*       Name            CG300API.PAS
//*       Purpose         Device Driver Interface for Win32s, Win95/98/ME
//*       Image karte	  DH-VRT-CG300
//*       Development Kit Borland Delphi 5.00
//*       Author          Wu Di-jing
//*       Date            2001/12/01
//*
//*
//*       Description
//*
//*
//*-----------------------------------------------------------------------------
//*/

unit CG300API;

interface

type
  HCG300 = LONGWORD;

const
  // Video Standard
  PAL =	0;
  NTSC = 1;

  DISABLE = FALSE;
  ENABLE = TRUE;

  AD_SOURCE = 0;
  AD_BRIGHTNESS = 1;
  AD_CONTRAST = 2;
  AD_HUE = 3;
  AD_SATURATION = 4;
  AD_SATURATION_U = 5;
  AD_SATURATION_V = 6;

  FIELD = 1;
  FRAME	= 0;

  YUV422 = 0;
  RGB888 = 1;
  RGB565 = 2;
  RGB555 = 3;
  RGB8888 = 4;
  All8Bit = 5;
  Limited8Bit =	6;

  TopField = 0;
  BottomField = 1;

// Functions of CG300 device driver
function BeginCG300(iImageDevice:integer):HCG300;stdcall;
function EndCG300(hcg:HCG300):integer;stdcall;
function CG300Capture(hcg:HCG300; Enable:WordBool):integer;stdcall;
function CG300CaptureToMem(hcg:HCG300; MemPhysAddr:LongWord; MemSize:LongWord; IntervVSyncs:LongWord;
           bFrmMode:LongWord; Sum:WORD):integer;stdcall;
function CG300EnableOverlay(hcg:HCG300; Enable:WordBool):integer;stdcall;
function CG300GetSnappingStatus(hcg:HCG300; var Flag:integer):integer;stdcall;
function CG300ReadFromMem(hcg:HCG300; lpSourBuf:Pchar; BufSize:LongWord;
           Number:WORD; lpDestBuf:Pchar):integer;stdcall;
function CG300CopyFromMem(hcg: HCG300; pDestBuf, pSrcBuf:Pchar; Length:LongWord): integer;
  stdcall;
function CG300SelectCryOSC(hcg:HCG300; TypeCryOSC:BYTE):integer;stdcall;
function CG300SetADParam(hcg:HCG300; Param, Value:BYTE):integer;stdcall;
function CG300SetColorSpace(hcg:HCG300; Space:BYTE):integer;stdcall;
function CG300SetDelay(hcg:HCG300; XDelay, YDelay:WORD):integer;stdcall;
function CG300SetDispMode(hcg:HCG300; Mode:WORD):integer; stdcall;
function CG300SetDispWindow(hcg:HCG300;
           Left, Top, Width, Height:integer):integer;stdcall;
function CG300SetInpVideoWindow(hcg:HCG300;
	   Left, Top, Width, Height:integer):integer;stdcall;
function CG300SetMask(hcg:HCG300; Param:BYTE; var MaskBuf:LongWord):integer;stdcall;
function CG300SetPLLFreqParam(hcg:HCG300; Value:BYTE):integer;stdcall;
function CG300SetVideoStandard(hcg:HCG300; Mode:WORD):integer;stdcall;
function CG300SetVideoDecimation(hcg:HCG300; Value:BYTE):integer;stdcall;
function CG300Snap( hcg: HCG300):integer;stdcall;
function CG300SnapOneToMem( hcg:HCG300; MemAddr, MemSize, FrmMode:LongWord ):integer;stdcall;
function CG300VideoPresent(hcg:HCG300; var Status:WordBool):integer;stdcall;
function CG300WaitOddVSync(hcg:HCG300):integer;stdcall;
function CG300WaitEvenVSync(hcg:HCG300):integer;stdcall;
function CG300ResetAudio(hcg:HCG300):integer;stdcall;
function CG300SetAudioRange(hcg:HCG300; Mode:BYTE):integer;stdcall;
function ReadDispWindow(hdc:LongWord; Left,Top,Width, Height:Integer;
           lpDestBuf:PChar):integer;stdcall;
function CG300SnapToMem(hcg: HCG300; MemAddr,MemSize,
                        bFrmMode: LongWord; Sum: Word):integer;stdcall;
function CG300GetSnapToMemNumber(hcg: HCG300; var Num: integer):integer;stdcall;
function CG300GetSnapToMemStatus(hcg: HCG300; var pFlag: integer):integer;stdcall;
function StaticMemAlloc(var Pages, PhysAddr,Handle,LineAddr: LongWord):integer;
  stdcall;
function SetStaticMemAlloc(Pages: LongWord):integer;stdcall;

function CG300CopyToMem(hcg: HCG300; pDestBuf:Pchar; pSrcBuf:Pchar; Length:LongWord):integer;stdcall;
function CG300FillToMem(hcg: HCG300; pDestBuf:Pchar; Length:longWord; Value:Byte):integer;stdcall;

implementation

function BeginCG300; external 'cg300d32.dll' name 'BeginCG300';
function EndCG300; external 'cg300d32.dll' name 'EndCG300';
function CG300Capture; external 'cg300d32.dll' name 'CG300Capture';
function CG300CaptureToMem; external 'cg300d32.dll' name 'CG300CaptureToMem';
function CG300EnableOverlay; external 'cg300d32.dll' name 'CG300EnableOverlay';
function CG300GetSnappingStatus; external 'cg300d32.dll' name 'CG300GetSnappingStatus';
function CG300ReadFromMem; external 'cg300d32.dll' name 'CG300ReadFromMem';
function CG300CopyFromMem; external 'cg300d32.dll' name 'CG300CopyFromMem';
function CG300SelectCryOSC; external 'cg300d32.dll' name 'CG300SelectCryOSC';
function CG300SetADParam; external 'cg300d32.dll' name 'CG300SetADParam';
function CG300SetColorSpace; external 'cg300d32.dll' name 'CG300SetColorSpace';
function CG300SetDelay; external 'cg300d32.dll' name 'CG300SetDelay';
function CG300SetDispMode; external 'cg300d32.dll' name 'CG300SetDispMode';
function CG300SetDispWindow; external 'cg300d32.dll' name 'CG300SetDispWindow';
function CG300SetInpVideoWindow; external 'cg300d32.dll' name 'CG300SetInpVideoWindow';
function CG300SetMask; external 'cg300d32.dll' name 'CG300SetMask';
function CG300SetPLLFreqParam; external 'cg300d32.dll' name 'CG300SetPLLFreqParam';
function CG300SetVideoStandard; external 'cg300d32.dll' name 'CG300SetVideoStandard';
function CG300SetVideoDecimation; external 'cg300d32.dll' name 'CG300SetVideoDecimation';
function CG300Snap; external 'cg300d32.dll' name 'CG300Snap';
function CG300SnapOneToMem; external 'cg300d32.dll' name 'CG300SnapOneToMem';
function CG300VideoPresent; external 'cg300d32.dll' name 'CG300VideoPresent';
function CG300WaitOddVSync; external 'cg300d32.dll' name 'CG300WaitOddVSync';
function CG300WaitEvenVSync; external 'cg300d32.dll' name 'CG300WaitEvenVSync';
function CG300ResetAudio; external 'cg300d32.dll' name 'CG300ResetAudio';
function CG300SetAudioRange; external 'cg300d32.dll' name 'CG300SetAudioRange';
function ReadDispWindow; external 'cg300d32.dll' name 'ReadDispWindow';
function CG300SnapToMem; external 'cg300d32.dll' name 'CG300SnapToMem';
function CG300GetSnapToMemNumber; external 'cg300d32.dll' name 'CG300GetSnapToMemNumber';
function CG300GetSnapToMemStatus; external 'cg300d32.dll' name 'CG300GetSnapToMemStatus';
function StaticMemAlloc; external 'cg300d32.dll' name 'StaticMemAlloc';
function SetStaticMemAlloc; external 'cg300d32.dll' name 'SetStaticMemAlloc';
function CG300CopyToMem; external 'cg300d32.dll' name 'CG300CopyToMem';
function CG300FillToMem; external 'cg300d32.dll' name 'CG300FillToMem';

end.


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -