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

📄 orchiddyn.pas

📁 相机传输图像程序源代码 拜耳模式(RAW格式文件)与RGB图像数据互相转换函数库
💻 PAS
📖 第 1 页 / 共 3 页
字号:
// LEUTRON VISION OrchidDyn.DLL - include file for Delphi 2.0 and higher
// This unit enables to load the Orchid DLL on demand. Before using any of the
// function the OrchidLoaded function must be called and its result checked for
// success. The OrchidLoaded function can be called multiple times; it loads
// Orchid only by its first call.
// Do not use this unit together with the Orchid.pas unit. The Orchid.pas unit
// is designed for static linkage of the Orchid DLL to your application.
// Note that Orchid itself has an internal implementation of load-on-demand DLLs.


unit OrchidDyn;

interface

uses Windows;

const
  lvx_Task_Live                      =  0;
  
  lvx_Task_Rt                        =  6;
  lvx_Task_RtBasic                   =  1;
  lvx_Task_RtFlash                   =  2;
  lvx_Task_RtAsyncReset              =  3;
  lvx_Task_RtFrameInt                =  4;
  lvx_Task_RtFrameIntAsyncReset      =  5;

  lvx_Task_Preprocessor              = 10;
  lvx_Task_DirectX                   = 11;

  lvx_Checkpoint_EndOfFrame          =  0;
  lvx_Checkpoint_EndOfSubsequence    =  1;
  lvx_Checkpoint_EndOfSequence       =  2;

  lvx_Flow_ContinueOnRequest         =  0;
  lvx_Flow_PauseOnRequest            =  1;

  lvx_LiveMode_Auto                  =  0;
  lvx_LiveMode_HardwareForce         =  1;
  lvx_LiveMode_Software              =  2;
  lvx_LiveMode_HardwareAuto          =  3;
  // for backward compatibility
  lvx_LiveMode_Hardware              =  1;

  lvx_ExtEv_Ignore                   =  0;
  lvx_ExtEv_Immediate                =  1;
  lvx_ExtEv_SwControlled             =  2;

  lvx_FshMd_None                     =  0; // Flash Rt module
  lvx_FshMd_FirstField               =  1;
  lvx_FshMd_BothField                =  2;

  lvx_FshMd_AR_CamTrigDelayed        =  0; // AsyncReset Rt module 
  lvx_FshMd_AR_CamTrig               =  1;
  lvx_FshMd_AR_FlashDelayed          =  2;

  lvx_FldStart_Any                   =  0;
  lvx_FldStart_Even                  =  1;
  lvx_FldStart_Odd                   =  2;

  lvx_FldAcq_2_Field                 =  0;
  lvx_FldAcq_1_Field                 =  1;

  lvx_FlowCheckDelay_0               =  0;
  lvx_FlowCheckDelay_180             =  1;
  lvx_FlowCheckDelay_320             =  2;
  lvx_FlowCheckDelay_420             =  3;
  lvx_FlowCheckDelay_610             =  4;
  lvx_FlowCheckDelay_3800            =  5;
  lvx_FlowCheckDelay_7500            =  6;

  lvx_AviFrame_RealTimeStamp         =  1;

  lvx_TiffConvertMonoTo16bit         =  1;

  lvx_GrabNotify_WinMsg              =  1;
  lvx_GrabNotify_WinObject           =  2;
  lvx_GrabNotify_Function            =  3;

  lvx_TimeoutNotify_WinMsg           = 10;
  lvx_TimeoutNotify_WinObject        = 11;
  lvx_TimeoutNotify_Function         = 12;

  lvx_Status_EepromOemNotInitialized = 65537;
  lvx_Status_EepromGrabberNotActive  = 65538;
  lvx_Status_EepromHwError           = 65539;
  lvx_Status_EepromUnknownError      = 65540;
  lvx_Status_EepromDoesNotMatch      = 65541;

  lvx_TextAttr_Bold                  = $0001; // for lvx_SetOverlayTextParams
  lvx_TextAttr_Italic                = $0002;
  lvx_TextAttr_Underline             = $0004;
  lvx_TextAttr_StrikeOut             = $0008;
  lvx_TextAttr_Shadow                = $0100; // default shadow is right-bottom
  lvx_TextAttr_Outline               = $FF00;

  lvx_TextAttr_ShadowRB              = $0100; // right-bottom
  lvx_TextAttr_ShadowRT              = $0200; // right-top
  lvx_TextAttr_ShadowLB              = $0400; // left-bottom
  lvx_TextAttr_ShadowLT              = $0800; // left-top
  lvx_TextAttr_ShadowB               = $1000; // bottom
  lvx_TextAttr_ShadowT               = $2000; // top
  lvx_TextAttr_ShadowR               = $4000; // right
  lvx_TextAttr_ShadowL               = $8000; // left

  lvx_Color_None                     = $FFFFFFFF; // for disabling transparent color
  lvx_Color_Black                    = $00000000;
  lvx_Color_Maroon                   = $00000080;
  lvx_Color_Green                    = $00008000;
  lvx_Color_Olive                    = $00008080;
  lvx_Color_Navy                     = $00800000;
  lvx_Color_Purple                   = $00800080;
  lvx_Color_Teal                     = $00808000;
  lvx_Color_Gray                     = $00808080;
  lvx_Color_Silver                   = $00C0C0C0;
  lvx_Color_Red                      = $000000FF;
  lvx_Color_Lime                     = $0000FF00;
  lvx_Color_Yellow                   = $0000FFFF;
  lvx_Color_Blue                     = $00FF0000;
  lvx_Color_Fuchsia                  = $00FF00FF;
  lvx_Color_Aqua                     = $00FFFF00;
  lvx_Color_LtGray                   = $00C0C0C0;
  lvx_Color_DkGray                   = $00808080;
  lvx_Color_White                    = $00FFFFFF;

  lvx_CameraGain_Analog  = $00000001;
  lvx_CameraGain_Digital = $00000002;

  lvx_Cmd_GetAcquiredInfoWidth  = $00010001;
  lvx_Cmd_GetAcquiredInfoHeight = $00010002;
  lvx_Cmd_GetAcquiredInfoFlags  = $00010003;

  lvx_Cmd_SetLutMono8Bit        = $00020001;
  lvx_Cmd_SetLutMono10Bit       = $00020002;
  lvx_Cmd_SetLutMono12Bit       = $00020003;
  lvx_Cmd_SetLutRgb8Bit         = $00020004;

  lvx_Cmd_GetLutMono8Bit        = $00020011;
  lvx_Cmd_GetLutMono10Bit       = $00020012;
  lvx_Cmd_GetLutMono12Bit       = $00020013;
  lvx_Cmd_GetLutRgb8Bit         = $00020014;
  
  lvx_Cmd_IsCameraConnected     = $00030001;

  lvx_Cmd_UtilSetFrameTimeLog   = $01000001;
  lvx_Cmd_UtilGetFrameTime      = $01000002;

  lvx_Cmd_GetPixelValue         = $00040001;


type
  ThLvxTask = DWORD;

var
  // DLLs Loading
  lvx_SetLoadWindowEnable	        : procedure(bEnable: LongBool); stdcall;
  lvx_GetLoadWindowEnable         : function  : LongBool; stdcall;
  lvx_LoadDlls		                : procedure; stdcall;
  lvx_GetVersion		              : function  : integer; stdcall;
  // Error Handling
  lvx_GetLastStatus	              : function  : integer; stdcall;
  lvx_GetLastStatusShortMsg       : procedure(pszMsg: PAnsiChar; iMaxLen: integer); stdcall;
  lvx_GetLastStatusLongMsg        : procedure(pszMsg: PAnsiChar; iMaxLen: integer); stdcall;
  // Task opening, closing
  lvx_OpenTask		                : function (iTaskType: integer): ThLvxTask; stdcall;
  lvx_CloseTask		                : procedure(hLvxTask: ThLvxTask); stdcall;
  lvx_GetTaskStatus	              : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_GetTaskStatusShortMsg       : procedure(hLvxTask: ThLvxTask; pszMsg: PAnsiChar; iMaxLen: integer); stdcall;
  lvx_GetTaskStatusLongMsg        : procedure(hLvxTask: ThLvxTask; pszMsg: PAnsiChar; iMaxLen: integer); stdcall;
  // Initial settings
  lvx_SetGrabber		              : procedure(hLvxTask: ThLvxTask; szName: PAnsiChar); stdcall;
  lvx_GetGrabber		              : procedure(hLvxTask: ThLvxTask; szName: PAnsiChar; iMaxLen: integer); stdcall;
  lvx_SetGrabberNumber	          : procedure(hLvxTask: ThLvxTask; iNumber: integer); stdcall;
  lvx_GetGrabberNumber	          : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_SetCamera		                : procedure(hLvxTask: ThLvxTask; szName: PAnsiChar); stdcall;
  lvx_GetCamera		                : procedure(hLvxTask: ThLvxTask; szName: PAnsiChar; iMaxLen: integer); stdcall;
  lvx_SetBaseCamera 	            : procedure(hLvxTask: ThLvxTask; szName: PAnsiChar); stdcall;
  lvx_GetBaseCamera	              : procedure(hLvxTask: ThLvxTask; szName: PAnsiChar; iMaxLen: integer); stdcall;
  lvx_SetConnector	              : procedure(hLvxTask: ThLvxTask; szName: PAnsiChar); stdcall;
  lvx_GetConnector	              : procedure(hLvxTask: ThLvxTask; szName: PAnsiChar; iMaxLen: integer); stdcall;
  lvx_SetConnectorList	          : procedure(hLvxTask: ThLvxTask; szName: PAnsiChar); stdcall;
  lvx_GetConnectorList	          : procedure(hLvxTask: ThLvxTask; szName: PAnsiChar; iMaxLen: integer); stdcall;
  lvx_ClearConnectorList	        : procedure(hLvxTask: ThLvxTask); stdcall;
  lvx_AddConnectorToList 	        : procedure(hLvxTask: ThLvxTask; pszConnectorName: PAnsiChar; pszGrabberName: PAnsiChar; iGrabberNumber: integer); stdcall;
  lvx_SetShutter		              : procedure(hLvxTask: ThLvxTask; pszName: PAnsiChar); stdcall;
  lvx_GetShutter                  : procedure(hLvxTask: ThLvxTask; pszName: PAnsiChar; iMaxLen: integer); stdcall;
  lvx_SetBoardsExtSync            : procedure(hLvxTask: ThLvxTask; bSet: LongBool); stdcall;
  lvx_GetBoardsExtSync            : function (hLvxTask: ThLvxTask): LongBool; stdcall;
  lvx_SetSubsequences             : procedure(hLvxTask: ThLvxTask; iSubsequences: integer); stdcall;
  lvx_GetSubsequences             : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_SetCheckpoints              : procedure(hLvxTask: ThLvxTask; iCheckpoints: integer); stdcall;
  lvx_GetCheckpoints              : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_SetFlowMode                 : procedure(hLvxTask: ThLvxTask; iFlowMode: integer); stdcall;
  lvx_GetFlowMode                 : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_SetAsynchronousGrab         : procedure(hLvxTask: ThLvxTask; bSet: LongBool); stdcall;
  lvx_GetAsynchronousGrab         : function (hLvxTask: ThLvxTask): LongBool; stdcall;
  lvx_SetRandomCameraSwitch       : procedure(hLvxTask: ThLvxTask; bSet: LongBool); stdcall;
  lvx_GetRandomCameraSwitch       : function (hLvxTask: ThLvxTask): LongBool; stdcall;
  lvx_SetParallelGrab             : procedure(hLvxTask: ThLvxTask; bSet: LongBool); stdcall;
  lvx_GetParallelGrab             : function (hLvxTask: ThLvxTask): LongBool; stdcall;
  lvx_SetImageBitsPerPixel        : procedure(hLvxTask: ThLvxTask; iBitsPerPixel: integer); stdcall;
  lvx_GetImageBitsPerPixel        : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_SetImageWidth	              : procedure(hLvxTask: ThLvxTask; iWidth: integer);  stdcall;
  lvx_SetImageHeight              : procedure(hLvxTask: ThLvxTask; iHeight: integer); stdcall;
  lvx_GetImageWidth               : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_GetImageHeight              : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_SetScaling                  : procedure(hLvxTask: ThLvxTask; bScaling: LongBool); stdcall;
  lvx_GetScaling                  : function (hLvxTask: ThLvxTask): LongBool; stdcall;
  lvx_SetHorizontalMirror         : procedure(hLvxTask: ThLvxTask; bMirror: LongBool); stdcall;
  lvx_GetHorizontalMirror         : function (hLvxTask: ThLvxTask): LongBool; stdcall;
  lvx_SetVerticalMirror           : procedure(hLvxTask: ThLvxTask; bMirror: LongBool); stdcall;
  lvx_GetVerticalMirror           : function (hLvxTask: ThLvxTask): LongBool; stdcall;
// Initializing, grabbing
  lvx_Initialize                  : procedure(hLvxTask: ThLvxTask); stdcall;
  lvx_GetActive                   : function (hLvxTask: ThLvxTask): LongBool; stdcall;
  lvx_SetLive                     : procedure(hLvxTask: ThLvxTask; bSet: LongBool); stdcall;
  lvx_GetLive                     : function (hLvxTask: ThLvxTask): LongBool; stdcall;
  lvx_SetLiveMode                 : procedure(hLvxTask: ThLvxTask; iLiveMode: integer); stdcall;
  lvx_GetLiveMode                 : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_MakeSnap                    : procedure(hLvxTask: ThLvxTask); stdcall;
  lvx_GrabContinue                : procedure(hLvxTask: ThLvxTask); stdcall;
  lvx_GrabPause                   : procedure(hLvxTask: ThLvxTask); stdcall;
  lvx_SwitchToCamera              : procedure(hLvxTask: ThLvxTask; iCamera: integer); stdcall;
// Runtime parameters
  lvx_SetBrightness               : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;
  lvx_GetBrightness               : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_SetContrast                 : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;

⌨️ 快捷键说明

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