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

📄 orchiddyn.pas

📁 相机传输图像程序源代码 拜耳模式(RAW格式文件)与RGB图像数据互相转换函数库
💻 PAS
📖 第 1 页 / 共 3 页
字号:
  lvx_GetContrast                 : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_SetHue                      : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;
  lvx_GetHue                      : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_SetSaturation               : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;
  lvx_GetSaturation               : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_GetChromaAvailable          : function (hLvxTask: ThLvxTask): LongBool; stdcall;
  lvx_GetImageMaxWidth            : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_GetImageMaxHeight           : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_GetFramesPerSec             : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_GetLiveWidth                : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_GetLiveHeight               : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_SetTimeout                  : procedure(hLvxTask: ThLvxTask; iTimeout: integer); stdcall;
  lvx_GetTimeout                  : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_GetTimeoutExpired           : function (hLvxTask: ThLvxTask): LongBool; stdcall;
  lvx_GetGrabbing                 : function (hLvxTask: ThLvxTask): LongBool; stdcall;
  lvx_GetLastImage                : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_GetNumberOfCameras          : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_SetExternalTrigger          : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;
  lvx_GetExternalTrigger          : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_SetFlowCheckDelay           : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;
  lvx_GetFlowCheckDelay           : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_SetFieldStart               : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;
  lvx_GetFieldStart               : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_SetFieldAcquisition         : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;
  lvx_GetFieldAcquisition         : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_SetAdcUpperLevel            : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;
  lvx_GetAdcUpperLevel            : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_SetAdcLowerLevel            : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;
  lvx_GetAdcLowerLevel            : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_SetShutterTime              : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;
  lvx_GetShutterTime              : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_SetCameraRestartDelay       : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;
  lvx_GetCameraRestartDelay       : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_SetFlashMode                : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;
  lvx_GetFlashMode                : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_SetFlashEnable              : procedure(hLvxTask: ThLvxTask; bEnable: LongBool); stdcall;
  lvx_GetFlashEnable              : function (hLvxTask: ThLvxTask): LongBool; stdcall;
  lvx_SetFlashStart               : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;
  lvx_GetFlashStart               : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_SetFlashEnd                 : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;
  lvx_GetFlashEnd                 : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_SetFlashWindowStart         : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;
  lvx_GetFlashWindowStart         : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_SetFlashWindowEnd           : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;
  lvx_GetFlashWindowEnd           : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_SetFlashWidth               : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;
  lvx_GetFlashWidth               : function (hLvxTask: ThLvxTask): integer; stdcall;
// Displaying images
  lvx_SetDisplayImageIndex        : procedure(hLvxTask: ThLvxTask; iImageIndex: integer); stdcall;
  lvx_GetDisplayImageIndex        : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_DisplayImage                : procedure(hLvxTask: ThLvxTask; hWindow: HWND; iImageIndex: integer); stdcall;
  lvx_DisplayImageEx              : procedure(hLvxTask: ThLvxTask; hWindow: HWND; hDevCtx: HDC; iImageIndex: integer); stdcall;
  lvx_SetImageDisplayStretch      : procedure(hLvxTask: ThLvxTask; bSet: LongBool); stdcall;
  lvx_GetImageDisplayStretch      : function (hLvxTask: ThLvxTask): LongBool; stdcall;
  lvx_SetTileImages               : procedure(hLvxTask: ThLvxTask; bTile: LongBool); stdcall;
  lvx_GetTileImages               : function (hLvxTask: ThLvxTask): LongBool; stdcall;
  lvx_SetDisplayWindow            : procedure(hLvxTask: ThLvxTask; hWindow: HWND); stdcall;
  lvx_GetDisplayWindow            : function (hLvxTask: ThLvxTask): HWND ; stdcall;
// Getting images
  lvx_SetImageIndex               : procedure(hLvxTask: ThLvxTask; iImageIndex: integer); stdcall;
  lvx_GetImageIndex               : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_GetImageBitmapInfo          : function (hLvxTask: ThLvxTask): PBitmapInfo; stdcall;
  lvx_GetImageBitmapData          : function (hLvxTask: ThLvxTask): PByte; stdcall;
  lvx_CopyImageToClipboard        : procedure(hLvxTask: ThLvxTask); stdcall;
  lvx_SaveImageToBmpFile          : procedure(hLvxTask: ThLvxTask; szFileName: PAnsiChar); stdcall;
  lvx_SaveImageToJpgFile          : procedure(hLvxTask: ThLvxTask; szFileName: PAnsiChar; iQuality: integer); stdcall;
  lvx_SaveImageToTifFile          : procedure(hLvxTask: ThLvxTask; szFileName: PAnsiChar; iOptions: integer); stdcall;
  lvx_SaveImageToAviFile          : procedure(hLvxTask: ThLvxTask; iImageIndex: integer; iOptions: integer; iReserved: integer); stdcall;
  lvx_SetCaptureToAvi             : procedure(hLvxTask: ThLvxTask; bSet: LongBool); stdcall;
  lvx_GetCaptureToAvi             : function (hLvxTask: ThLvxTask): LongBool; stdcall;
  lvx_OpenAviFile                 : procedure(hLvxTask: ThLvxTask; pszName: PAnsiChar; iOptions: integer; iReserved: integer); stdcall;
  lvx_CloseAviFile                : procedure(hLvxTask: ThLvxTask; iReserved: integer); stdcall;
  lvx_SetAviInterFrameDelay       : procedure(hLvxTask: ThLvxTask; iValue: integer); stdcall;
  lvx_GetAviInterFrameDelay       : function (hLvxTask: ThLvxTask): integer; stdcall;
// Saving and loading settings
  lvx_SaveSettings                : procedure(hLvxTask: ThLvxTask; szId: PAnsiChar; szFileName: PAnsiChar); stdcall;
  lvx_LoadSettings                : function (hLvxTask: ThLvxTask; szId: PAnsiChar; szFileName: PAnsiChar): LongBool; stdcall;
  lvx_SaveAviSettings             : procedure(hLvxTask: ThLvxTask; szId: PAnsiChar; szFileName: PAnsiChar); stdcall;
  lvx_LoadAviSettings             : function (hLvxTask: ThLvxTask; szId: PAnsiChar; szFileName: PAnsiChar): LongBool; stdcall;
// Dialog boxes
  lvx_DisplayConnectionDialog     : function (hLvxTask: ThLvxTask; hWindow: HWND): LongBool; stdcall;
  lvx_DisplayLiveSettingsDialog   : function (hLvxTask: ThLvxTask; hWindow: HWND): LongBool; stdcall;
  lvx_DisplaySnapSettingsDialog   : function (hLvxTask: ThLvxTask; hWindow: HWND): LongBool; stdcall;
  lvx_DisplayInitialSettingsDialog: procedure(hLvxTask: ThLvxTask; hWindow: HWND); stdcall;
  lvx_DisplayRunTimeSettingsDialog: procedure(hLvxTask: ThLvxTask; hWindow: HWND); stdcall;
  lvx_DisplayAviSettingsDialog    : function (hLvxTask: ThLvxTask; hWindow: HWND): LongBool; stdcall;
// Querying info
  lvx_QueryGrabberName 	          : procedure(hLvxTask: ThLvxTask; iGrabberNumber: integer; szName: PAnsiChar; iMaxLen: integer); stdcall;
  lvx_QueryCameraName  	          : procedure(hLvxTask: ThLvxTask; iGrabberNumber: integer; iCameraNumber: integer; szName: PAnsiChar; iMaxLen: integer); stdcall;
  lvx_QueryConnectorName	        : procedure(hLvxTask: ThLvxTask; iGrabberNumber: integer; iCameraNumber: integer; iConnectorNumber: integer;
                                              szName: PAnsiChar; iMaxLen: integer); stdcall;
// Notifying functions
  lvx_SetNotifyCallBack           : procedure(hLvxTask: ThLvxTask; iCallBackType: integer; iParam1: integer; iParam2: integer); stdcall;
// Extended commands
  lvx_Command                     : function (hLvxTask: ThLvxTask; pszCommand: PAnsiChar): integer; stdcall;
  lvx_CommandStr                  : procedure(hLvxTask: ThLvxTask; pszCommand: PAnsiChar; pszReturnStr: PAnsiChar; iMaxLen: integer); stdcall;
  lvx_CommandInt                  : function (hLvxTask: ThLvxTask; iCommand: integer; iParam1: integer;
                                              iParam2: integer; iParam3: integer): integer; stdcall;
// Preprocessing
  lvx_SetPreprocessing            : procedure(hLvxTask: ThLvxTask; bSet: LongBool); stdcall;
  lvx_GetPreprocessing            : function (hLvxTask: ThLvxTask): LongBool; stdcall;
// Optocoupler IO
  lvx_GetOptoInput                : function (hLvxTask: ThLvxTask; iMask: integer; bBuffered: LongBool): integer; stdcall;
  lvx_WaitOptoInput               : function (hLvxTask: ThLvxTask; iMask: integer; bWaitForAll: LongBool; iTimeout: integer; iReserved: integer): integer; stdcall;
  lvx_SetOptoOutput               : procedure(hLvxTask: ThLvxTask; iMask: integer); stdcall;
// new in version 1.10
  lvx_GetImageRealBitsPerPixel    : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_GetImageRealWidth           : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_GetImageRealHeight          : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_CancelGrab                  : procedure(hLvxTask: ThLvxTask); stdcall;
  lvx_GetLastSubsequence          : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_GetCurrentImage             : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_GetCurrentSubsequence       : function (hLvxTask: ThLvxTask): integer; stdcall;
  lvx_Uninitialize                : procedure(hLvxTask: ThLvxTask); stdcall;
// Preprocessor functions
  lvx_SetOwnerTask                : procedure(hLvxTask: ThLvxTask; hLvxOwnerTask: ThLvxTask); stdcall;
  lvx_ClearFilterList             : procedure(hLvxTask: ThLvxTask); stdcall;
  lvx_AddFilter                   : procedure(hLvxTask: ThLvxTask; pszFilter:PAnsiChar); stdcall;
  lvx_ClearFilterRectList         : procedure(hLvxTask: ThLvxTask); stdcall;
  lvx_AddFilterRect               : procedure(hLvxTask: ThLvxTask; iLeft: integer; iTop: integer; iRight: integer; iBottom: integer); stdcall;
  lvx_PreprocessImage             : procedure(hLvxTask: ThLvxTask; iImageIndex: integer; bPutBack: LongBool); stdcall;
// Preprocessor overlay functions
  lvx_CreateOverlay               : function (hLvxTask: ThLvxTask; iWidth: integer; iHeight: integer): integer; stdcall;
  lvx_DeleteOverlay               : procedure(hLvxTask: ThLvxTask; hOverlay: integer); stdcall;
  lvx_SetOverlayOffset            : procedure(hLvxTask: ThLvxTask; hOverlay: integer; iXOffset: integer; iYOffset: integer); stdcall;
  lvx_GetOverlayDc                : function (hLvxTask: ThLvxTask; hOverlay: integer): HDC; stdcall;
  lvx_ReleaseOverlayDc            : procedure(hLvxTask: ThLvxTask; hOverlay: integer); stdcall;
  lvx_WipeOverlay                 : procedure(hLvxTask: ThLvxTask; hOverlay: integer; iColor: integer); stdcall;
  lvx_SetOverlayTransparentColor  : procedure(hLvxTask: ThLvxTask; hOverlay: integer; iColor: integer); stdcall;
  lvx_SetOverlayTextParams        : procedure(hLvxTask: ThLvxTask; hOverlay: integer; pszFont: PAnsiChar; iSize: integer;
                                              iColor: integer; iOutlineColor: integer; iAttributes: integer); stdcall;
  lvx_WriteTextToOverlay          : procedure(hLvxTask: ThLvxTask; hOverlay: integer; pszText: PAnsiChar;
                                              iXOffset: integer; iYOffset: integer); stdcall;
  lvx_PutBitmapToOverlay          : procedure(hLvxTask: ThLvxTask; hOverlay: integer; BitmapInfo: PBitmapInfo;
                                              BitmapData: PByte; iXOffset: integer; iYOffset: integer); stdcall;
  lvx_PutBitmapToOverlayFromBmpFile: procedure(hLvxTask: ThLvxTask; hOverlay: integer; pszFileName: PAnsiChar;
                                              iXOffset: integer; iYOffset: integer); stdcall;
  lvx_SetOverlayVisible           : procedure(hLvxTask: ThLvxTask; hOverlay: integer; bVisible: LongBool); stdcall;
  lvx_GetOverlayVisible           : function (hLvxTask: ThLvxTask; hOverlay: integer): LongBool; stdcall;
  lvx_FlipOverlay                 : procedure(hLvxTask: ThLvxTask; hOverlay: integer); stdcall;
  lvx_SetInitialParam             : procedure(hLvxTask: ThLvxTask;
                                              pszParamName: PAnsiChar; iValue: integer); stdcall;
  lvx_GetInitialParam             : function (hLvxTask: ThLvxTask;
                                              pszParamName: PAnsiChar): integer; stdcall;
  lvx_SetRunParam                 : procedure(hLvxTask: ThLvxTask;
                                              pszParamName: PAnsiChar; iValue: integer); stdcall;
  lvx_GetRunParam                 : function (hLvxTask: ThLvxTask;
                                              pszParamName: PAnsiChar): integer; stdcall;
  lvx_GetCapability               : function (hLvxTask: ThLvxTask;
                                              pszCapName: PAnsiChar): integer; stdcall;
// COM Control functions
  lvx_DisplayCameraCommDialog     : procedure (hLvxTask: ThLvxTask; hWindow: HWND;
                                               pszFileName: PAnsiChar); stdcall;
  lvx_InitForCameraComm           : procedure (hLvxTask: ThLvxTask; iConnector: integer); stdcall;
  lvx_CameraCommOpen              : procedure (hLvxTask: ThLvxTask; iConnector: integer); stdcall;
  lvx_CameraCommSetParam          : procedure (hLvxTask: ThLvxTask; iConnector: integer;
                                               iBaudRate: integer; iParity: integer;
                                               iByteSize: integer; iStopBit: integer); stdcall;
  lvx_CameraCommSend              : procedure (hLvxTask: ThLvxTask; iConnector: integer;
                                               pszCommand: PAnsiChar; iCommandLen: integer;
                                               pszResponse: PAnsiChar; iMaxResponseLen: integer;
                                               iTimeout: integer; iEndOfTransmissionChar: integer); stdcall;
  lvx_CameraCommSendEx            : function  (hLvxTask: ThLvxTask; iConnector: integer;
                                               pszCommand: PAnsiChar; iCommandLen: integer;
                                               pszResponse: PAnsiChar; iMaxResponseLen: integer;
                                               iTimeout: integer; iEndOfTransmissionChar: integer): integer; stdcall;
  lvx_CameraCommClose             : procedure (hLvxTask: ThLvxTask; iConnector: integer); stdcall;

// General Purpose I/O
  lvx_GetGPInput                  : function  (hLvxTask: ThLvxTask; iMask: integer): integer; stdcall;
  lvx_SetGPOutput                 : procedure (hLvxTask: ThLvxTask; iMask: integer); stdcall;

  lvx_GetGain                     : function  (hLvxTask: ThLvxTask; iGainType: integer): integer;  stdcall;
  lvx_SetGain                     : procedure (hLvxTask: ThLvxTask; iGain: integer; iGainType: integer); stdcall;

  lvx_GetExposure                 : function  (hLvxTask: ThLvxTask; iFlags: integer): integer; stdcall;
  lvx_SetExposure                 : procedure (hLvxTask: ThLvxTask; iMicroseconds: integer; iFlags: integer); stdcall;

  lvx_GetBlackLevel               : function  (hLvxTask: ThLvxTask; iFlags: integer): integer; stdcall;
  lvx_SetBlackLevel               : procedure (hLvxTask: ThLvxTask; iLevel: integer; iFlags: integer); stdcall;


function  OrchidLoaded : boolean;

//------------------------------------------------------------------------------

implementation

uses	SysUtils;

const	OrchidDllFn = 'Orchid.dll';
var	hOrchidDll: THandle;

function OrchidLoaded : boolean;

  var IsOk: boolean;

  procedure GetFn(var ProcVar : pointer; const ProcName : string);

    begin
    ProcVar:=GetProcAddress(hOrchidDll, pchar(ProcName));
    if ProcVar=nil then IsOk:=false;
    end;

  begin
  if hOrchidDll<>0 then
    begin
    result:=true;
    exit;
    end;

  hOrchidDll:=LoadLibrary(OrchidDllFn);;
  if hOrchidDll<>0 then
    begin
    IsOk:=true;
    GetFn(@lvx_SetLoadWindowEnable            ,'lvx_SetLoadWindowEnable');
    GetFn(@lvx_GetLoadWindowEnable            ,'lvx_GetLoadWindowEnable');
    GetFn(@lvx_LoadDlls                       ,'lvx_LoadDlls');
    GetFn(@lvx_GetVersion                     ,'lvx_GetVersion');
    GetFn(@lvx_GetLastStatus                  ,'lvx_GetLastStatus');
    GetFn(@lvx_GetLastStatusShortMsg          ,'lvx_GetLastStatusShortMsg');
    GetFn(@lvx_GetLastStatusLongMsg           ,'lvx_GetLastStatusLongMsg');
    GetFn(@lvx_OpenTask                       ,'lvx_OpenTask');
    GetFn(@lvx_CloseTask                      ,'lvx_CloseTask');
    GetFn(@lvx_GetTaskStatus                  ,'lvx_GetTaskStatus');
    GetFn(@lvx_GetTaskStatusShortMsg          ,'lvx_GetTaskStatusShortMsg');

⌨️ 快捷键说明

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