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

📄 orchid.h

📁 相机传输图像程序源代码 拜耳模式(RAW格式文件)与RGB图像数据互相转换函数库
💻 H
📖 第 1 页 / 共 5 页
字号:

DLLENTRY void WINAPI lvx_SetLoadWindowText(const char* pszText, int iWindowWidth, int iWindowHeight);

/* -------------------------------------------------------------------------- */

/** Forces loading of the DLLs.
* Orchid loads dynamically other DLLs when a first function is called or
* class instance created. This load time can
* take relatively long time. \n
* This postponed loading enables that your application starts quickly.\n
* By using this method, you can load the DLLs earlier, for example at the
* application startup.\n
* Load is always done only once regardless how many times you call this method;
* when the DLLs are loaded, they are not unloaded until your application ends.
* @ingroup OrchidFunctionsDllLoad
*
* @par See also .NET version:
*      LeutronVision::Orchid::LvxDll::LoadDlls
*/

DLLENTRY void WINAPI lvx_LoadDlls();

/* -------------------------------------------------------------------------- */

/** Returns the version and subversion of Orchid.
* Note that the Orchid version number is not the same as LV-SDS version number.
* See the Commands in Orchid User's Guide for information, how to obtain the
* LV-SDS version.
* @ingroup OrchidFunctionsDllLoad
* @return \b Version number in the high word and subversion in the low word of the
*         returned 32-bit number.
* @par See also .NET version:
*      LeutronVision::Orchid::LvxDll::Version
*/

DLLENTRY int WINAPI lvx_GetVersion();

/* -------------------------------------------------------------------------- */
/* Error handling */
/* -------------------------------------------------------------------------- */

/** Returns the last error code.
* Zero value indicates no error. Non-zero value indicates an error, the
* description of which you can obtain by calling lvx_LastStatusShortMsg()
* and lvx_LastStatusLongMsg() methods.\n
* DLL version: \n
* This function reflects the global status after the last Orchid call,
* independently on Orchid module. Once you have the module created, you can use
* the lvx_GetTaskStatus() function to get the last status of the particular
* module. This approach has sense only in case you are using multiple modules
* in your application; otherwise you should use lvx_GetLastStatus() only. Note
* that lvx_GetLastStatus() is more general; it reflects also errors that may
* happen outside the module, for example calling a function with an
* invalid module handle.\n
* .Net Class Library version: \n
* As this property is belonging to a class instance, it is always returning
* the status of the class instance.
* \n
* Note that the Orchid functions and methods themselves do not return any error code.
* You should always check the result of any Orchid method call or property assignment
* by calling either lvx_GetLastStatus() or lvx_GetTaskStatus() function.
* This is usually not needed for methods returning informational values (Get...
* methods and reading of properties; these do not set any error status.
* @ingroup OrchidFunctionsStatusCheck
* @par See also .NET version:
*      LeutronVision::Orchid::LvxBase::LastStatus
*/

DLLENTRY int  WINAPI lvx_GetLastStatus();

/* -------------------------------------------------------------------------- */

/** Returns a short text description of the last error.
* Returns a string description of the last error, in form of a short, one-line string, suitable for
* error message window title.\n
* Use lvx_GetTaskStatusShortMsg() instead of lvx_GetLastStatusShortMsg() if you used
* lvx_GetTaskStatus() function before.
* @ingroup OrchidFunctionsStatusCheck
* @param pszMsg     Pointer to character buffer, to which the error message
*                     is copied as a null-terminated string.
* @param iMaxLen    Size of the buffer.
*  @par See also .NET version:
*       LeutronVision::Orchid::LvxBase::LastStatusShortMsg
*/

DLLENTRY void WINAPI lvx_GetLastStatusShortMsg(char* pszMsg, int iMaxLen);

/* -------------------------------------------------------------------------- */

/** Returns a full description of the last error.
* Returns a string description of the last error, in form of a long string with a detailed description.
* Use lvx_GetTaskStatusLongMsg() instead of lvx_GetLastStatusLongMsg() if you used
* lvx_GetTaskStatus() function before.
* @ingroup OrchidFunctionsStatusCheck
* @param pszMsg     Pointer to character buffer, to which the error message
*                     is copied as a null-terminated string.
* @param iMaxLen    Size of the buffer.
*  @par See also .NET version:
*       LeutronVision::Orchid::LvxBase::LastStatusLongMsg
*/

DLLENTRY void WINAPI lvx_GetLastStatusLongMsg(char* pszMsg, int iMaxLen);

/* -------------------------------------------------------------------------- */

/** Returns the last error code for the specified module.
* See lvx_GetLastStatus() for details.
* @ingroup OrchidFunctionsStatusCheck
* @param hLvxTask   Handle to Orchid module, created by lvx_OpenTask().
*  @par See also .NET version:
*       LeutronVision::Orchid::LvxBase::TaskStatus
*/

DLLENTRY int WINAPI lvx_GetTaskStatus(HLVXTASK hLvxTask);

/* -------------------------------------------------------------------------- */

/** Returns a short text description of the last error for the specified module.
* See lvx_GetLastStatusShortMsg() for details.
* @ingroup OrchidFunctionsStatusCheck
* @param hLvxTask   Handle to Orchid module, created by lvx_OpenTask().
* @param pszMsg     Pointer to a buffer, to which the error message
*                     is copied as a null-terminated string.
* @param iMaxLen    Size of the buffer.
*  @par See also .NET version:
*       LeutronVision::Orchid::LvxBase::TaskStatusShortMsg
*/

DLLENTRY void WINAPI lvx_GetTaskStatusShortMsg(HLVXTASK hLvxTask, char* pszMsg, int iMaxLen);

/* -------------------------------------------------------------------------- */

/** Returns a full description of the last error for the specified module.
* See lvx_GetLastStatusLongMsg() for details.
* @ingroup OrchidFunctionsStatusCheck
* @param hLvxTask   Handle to Orchid module, created by lvx_OpenTask().
* @param pszMsg     Pointer to a buffer, to which the error message
*                     is copied as a null-terminated string.
* @param iMaxLen    Size of the buffer.
*  @par See also .NET version:
*       LeutronVision::Orchid::LvxBase::TaskStatusLongMsg
*/

DLLENTRY void WINAPI lvx_GetTaskStatusLongMsg(HLVXTASK hLvxTask, char* pszMsg, int iMaxLen);

/* -------------------------------------------------------------------------- */
/* Task opening, closing */
/* -------------------------------------------------------------------------- */
/** Creates a new Orchid module.
* Most of the lvx_ functions require a handle to a Orchid module as its first
* parameter, so the Orchid module must be created first by this method. You can
* use multiple modules in your application, but you must assure that two
* modules will never use the same camera. \n
* Besides the acquisiton type of the module, you can also create
* a Preprocessor or DirectX module: these modules are not
* connected with any hardware and are attached to the acquisition
* modules.\n
* You should close the acquisition module using the lvx_CloseTask()
* method at the exit of your application or before you create a new module for
* the same camera.\n
* @ingroup OrchidFunctionsModuleCreation
* @param iTaskType Identifies the module type, which will be associated with the
*                  module. The iModuleType can be one of the following values:
*                  - lvx_Task_Live
*                  - lvx_Task_Rt
*                  - lvx_Task_RtAsyncReset
*                  - lvx_Task_Preprocessor
*                  - lvx_Task_DirectX
*
*                  See the User's Guide for the description of the module types.
*
* @return Handle to the created module. The handle is always a non-zero value.
 */

DLLENTRY HLVXTASK WINAPI lvx_OpenTask(int iTaskType);

/* -------------------------------------------------------------------------- */

/** Closes the Orchid module.
* This function should be called when you want to stop working with the module,
* or at the exit of your application.
* See also: lvx_OpenTask()
* @ingroup OrchidFunctionsModuleCreation
* @param hLvxTask   Handle to Orchid module, created by lvx_OpenTask().
*/

DLLENTRY void WINAPI lvx_CloseTask(HLVXTASK hLvxTask);

/* -------------------------------------------------------------------------- */
/* Initial settings */
/* -------------------------------------------------------------------------- */

/** Sets the name of the grabber to be used.
*
* The name of the grabber is a part of the hardware identification which consists
* of a triplet: Grabber name - Camera name - Connector name, and optionally Grabber
* order in case of multiple grabbers of the same type
* available in the system.\n
* \n
* In case of a physical frame grabber the name specifies the name of the grabber;
* in case of GigE or USB cameras, the name of the grabber can be either
* a generic "GigE" or "USB" or directly the name of the camera.\n
* \n
* The best way how to find out the correct grabber name is to use the
* PicPort Demo, which lists all the grabbers found in the system, or use the
* enumeration functions (see lvx_QueryGrabberName() ).\n
* \n
* The name is not case sensitive.\n
* \n
* In case of multiple grabbers of the same name you should use the lvx_SetGrabberOrder()
* to specify the order of the grabber. Note that the grabber order can be also
* attached to the end of the grabber name in square brackets, for example
* "PicPortX Mono [2]". The grabber order does not apply to generic "GigE" and "USB"
* names, where the multiple cameras are distinguished by their nick names, not by
* the order. \n
* \n
* Important: In case you have multiple grabbers in the PC or multiple cameras
* cameras connected to the PC, you should use a seaparate module for each camera and
* assure that 2 modules will not access the same camera. In case you have a
* frame grabber which enables to connect multiple cameras (PicPort Express Stereo,
* PicPort Elite etc.), all the modules accessing the cameras must be in single
* process (application). That means you cannot use for example one application
* for accessing the first camera on PicPortX Stereo and another application for
* accessing the second camera on the same physical grabber, but you can have
*  2 modules opened in single application, each accessing one of the 2 cameras.\n
* \n
* In the LvxLive module the lvx_DisplayConnectionDialog() can be used
* for setting the Grabber-Connector-Camera properties at once by the user,
* using a pop-up dialog box.\n
* In the real-time modules the lvx_DisplayInitialSettingsDialog() method can be
* used for setting this property, together with other parameters.\n
* \n
* @note Changing the grabber name deactivates currently active
*       acquisition and returns the module to the uninitialized status.
* @sa lvx_QueryGrabberName() method, through which you can obtain a list of
*     grabbers available in the computer.
*
* @ingroup OrchidFunctionsInitializing
* @param hLvxTask   Handle to Orchid module, created by lvx_OpenTask().
* @param pszName    Name in form of a null-terminated string.
*
* @par See also .NET version:
*      LeutronVision::Orchid::LvxBaseAcquisition::Grabber
*/

DLLENTRY void WINAPI lvx_SetGrabber(HLVXTASK hLvxTask, const char* pszName);

/* -------------------------------------------------------------------------- */

/** Gets the name of the grabber.
*
* The name of the grabber is a part of the hardware identification which consists
* of a triplet: Grabber name - Camera name - Connector name, and optionally Grabber
* order in case of multiple grabbers of the same type
* available in the system.\n
* \n
* In case of a physical frame grabber the name specifies the name of the grabber;
* in case of GigE or USB cameras, the name of the grabber can be either

⌨️ 快捷键说明

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