Cross plantform versiongit status !

This commit is contained in:
xinyang
2019-05-14 22:22:33 +08:00
parent 601bf2a510
commit f9eab62680
30 changed files with 13231 additions and 392 deletions

View File

@@ -0,0 +1,380 @@
#ifndef _MV_CAMERA_IMAGE_H_
#define _MV_CAMERA_IMAGE_H_
#include "CameraDefine.h"
#include "CameraStatus.h"
/// @ingroup MV_IMAGE
/// \~chinese
/// \brief <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>µ<EFBFBD>Image
/// \param [out] Image <20>´<EFBFBD><C2B4><EFBFBD><EFBFBD><EFBFBD>ͼƬ
/// \param [in] pFrameBuffer ֡<><D6A1><EFBFBD><EFBFBD>
/// \param [in] pFrameHead ֡ͷ
/// \param [in] bCopy TRUE: <20><><EFBFBD>Ƴ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD>µ<EFBFBD>֡<EFBFBD><D6A1><EFBFBD><EFBFBD> FALSE: <20><><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>ֱ<EFBFBD><D6B1>ʹ<EFBFBD><CAB9>pFrameBufferָ<72><D6B8><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD>
/// \return <20>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD> CAMERA_STATUS_SUCCESS(0)<29><><EFBFBD><EFBFBD><EFBFBD>򷵻ط<F2B7B5BB><30>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>ο<EFBFBD> CameraStatus.h <20>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6>
/// \~english
/// \brief Create a new Image
/// \param [out] Image Newly Created Image
/// \param [in] pFrameBuffer frame data
/// \param [in] pFrameHead Frame Header
/// \param [in] bCopy TRUE: Copy a new frame data FALSE: Do not copy, directly use the buffer pointed to by pFrameBuffer
/// \return Returns CAMERA_STATUS_SUCCESS(0) successfully. Otherwise, it returns a non-zero error code. Please refer to the definition of the error code in CameraStatus.h.
MVSDK_API CameraSdkStatus __stdcall CameraImage_Create(
void** Image,
BYTE *pFrameBuffer,
tSdkFrameHead* pFrameHead,
BOOL bCopy
);
/// @ingroup MV_IMAGE
/// \~chinese
/// \brief <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>յ<EFBFBD>Image
/// \param [out] Image <20>´<EFBFBD><C2B4><EFBFBD><EFBFBD><EFBFBD>ͼƬ
/// \return <20>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD> CAMERA_STATUS_SUCCESS(0)<29><><EFBFBD><EFBFBD><EFBFBD>򷵻ط<F2B7B5BB><30>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>ο<EFBFBD> CameraStatus.h <20>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6>
/// \~english
/// \brief Create an empty Image
/// \param [out] Image Newly Created Image
/// \return Returns CAMERA_STATUS_SUCCESS(0) successfully. Otherwise, it returns a non-zero error code. Please refer to the definition of the error code in CameraStatus.h.
MVSDK_API CameraSdkStatus __stdcall CameraImage_CreateEmpty(
void** Image
);
/// @ingroup MV_IMAGE
/// \~chinese
/// \brief <20><><EFBFBD><EFBFBD>Image
/// \param [in] Image
/// \return <20>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD> CAMERA_STATUS_SUCCESS(0)<29><><EFBFBD><EFBFBD><EFBFBD>򷵻ط<F2B7B5BB><30>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>ο<EFBFBD> CameraStatus.h <20>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6>
/// \~english
/// \brief Destroy Image
/// \param [in] Image
/// \return Returns CAMERA_STATUS_SUCCESS(0) successfully. Otherwise, it returns a non-zero error code. Please refer to the definition of the error code in CameraStatus.h.
MVSDK_API CameraSdkStatus __stdcall CameraImage_Destroy(
void* Image
);
/// @ingroup MV_IMAGE
/// \~chinese
/// \brief <20><>Image<67><65>ȡ֡<C8A1><D6A1><EFBFBD>ݺ<EFBFBD>֡ͷ
/// \param [in] Image
/// \param [out] DataBuffer ֡<><D6A1><EFBFBD><EFBFBD>
/// \param [out] Head ֡ͷ
/// \return <20>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD> CAMERA_STATUS_SUCCESS(0)<29><><EFBFBD><EFBFBD><EFBFBD>򷵻ط<F2B7B5BB><30>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>ο<EFBFBD> CameraStatus.h <20>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6>
/// \~english
/// \brief Get frame data and frame header from Image
/// \param [in] Image
/// \param [out] DataBuffer Frame Data
/// \param [out] Head header
/// \return Returns CAMERA_STATUS_SUCCESS(0) successfully. Otherwise, it returns a non-zero error code. Please refer to the definition of the error code in CameraStatus.h.
MVSDK_API CameraSdkStatus __stdcall CameraImage_GetData(
void* Image,
BYTE** DataBuffer,
tSdkFrameHead** Head
);
/// @ingroup MV_IMAGE
/// \~chinese
/// \brief <20><>ȡImage<67><65><EFBFBD>û<EFBFBD><C3BB>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// \param [in] Image
/// \param [out] UserData <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// \return <20>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD> CAMERA_STATUS_SUCCESS(0)<29><><EFBFBD><EFBFBD><EFBFBD>򷵻ط<F2B7B5BB><30>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>ο<EFBFBD> CameraStatus.h <20>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6>
/// \~english
/// \brief Get User's Custom Data of Image
/// \param [in] Image
/// \param [out] UserData returns user-defined data
/// \return Returns CAMERA_STATUS_SUCCESS(0) successfully. Otherwise, it returns a non-zero error code. Please refer to the definition of the error code in CameraStatus.h.
MVSDK_API CameraSdkStatus __stdcall CameraImage_GetUserData(
void* Image,
void** UserData
);
/// @ingroup MV_IMAGE
/// \~chinese
/// \brief <20><><EFBFBD><EFBFBD>Image<67><65><EFBFBD>û<EFBFBD><C3BB>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// \param [in] Image
/// \param [in] UserData <20>û<EFBFBD><C3BB>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// \return <20>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD> CAMERA_STATUS_SUCCESS(0)<29><><EFBFBD><EFBFBD><EFBFBD>򷵻ط<F2B7B5BB><30>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>ο<EFBFBD> CameraStatus.h <20>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6>
/// \~english
/// \brief Set user-defined data for Image
/// \param [in] Image
/// \param [in] UserData User-defined data
/// \return Returns CAMERA_STATUS_SUCCESS(0) successfully. Otherwise, it returns a non-zero error code. Please refer to the definition of the error code in CameraStatus.h.
MVSDK_API CameraSdkStatus __stdcall CameraImage_SetUserData(
void* Image,
void* UserData
);
/// @ingroup MV_IMAGE
/// \~chinese
/// \brief <20>ж<EFBFBD>һ<EFBFBD><D2BB>Image<67>Ƿ<EFBFBD>Ϊ<EFBFBD><CEAA>
/// \param [in] Image
/// \param [out] IsEmpty Ϊ<>շ<EFBFBD><D5B7><EFBFBD>:TRUE(1) <20><><EFBFBD>򷵻<EFBFBD>:FALSE(0)
/// \return <20>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD> CAMERA_STATUS_SUCCESS(0)<29><><EFBFBD><EFBFBD><EFBFBD>򷵻ط<F2B7B5BB><30>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>ο<EFBFBD> CameraStatus.h <20>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6>
/// \~english
/// \brief Determine if an Image is empty
/// \param [in] Image
/// \param [out] IsEmpty Empty Returns: TRUE(1) Otherwise returns: FALSE(0)
/// \return Returns CAMERA_STATUS_SUCCESS(0) successfully. Otherwise, it returns a non-zero error code. Please refer to the definition of the error code in CameraStatus.h.
MVSDK_API CameraSdkStatus __stdcall CameraImage_IsEmpty(
void* Image,
BOOL* IsEmpty
);
/// @ingroup MV_IMAGE
/// \~chinese
/// \brief <20><><EFBFBD><EFBFBD>Image<67><65>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// \param [in] Image
/// \param [in] hWnd Ŀ<>Ĵ<EFBFBD><C4B4><EFBFBD>
/// \param [in] Algorithm <20><><EFBFBD><EFBFBD><EFBFBD>㷨 0<><30><EFBFBD><EFBFBD><EFBFBD>ٵ<EFBFBD><D9B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD> 1<><31><EFBFBD>ٶ<EFBFBD><D9B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// \return <20>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD> CAMERA_STATUS_SUCCESS(0)<29><><EFBFBD><EFBFBD><EFBFBD>򷵻ط<F2B7B5BB><30>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>ο<EFBFBD> CameraStatus.h <20>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6>
/// \~english
/// \brief Draw Image to the specified window
/// \param [in] Image
/// \param [in] hWnd destination window
/// \param [in] Algorithm scaling algorithm 0:fast but slightly worse quality 1:slower but better quality
/// \return Returns CAMERA_STATUS_SUCCESS(0) successfully. Otherwise, it returns a non-zero error code. Please refer to the definition of the error code in CameraStatus.h.
MVSDK_API CameraSdkStatus __stdcall CameraImage_Draw(
void* Image,
HWND hWnd,
int Algorithm
);
/// @ingroup MV_IMAGE
/// \~chinese
/// \brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Image<67><65>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// \param [in] Image
/// \param [in] hWnd Ŀ<>Ĵ<EFBFBD><C4B4><EFBFBD>
/// \param [in] Algorithm <20><><EFBFBD><EFBFBD><EFBFBD>㷨 0<><30><EFBFBD><EFBFBD><EFBFBD>ٵ<EFBFBD><D9B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD> 1<><31><EFBFBD>ٶ<EFBFBD><D9B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// \return <20>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD> CAMERA_STATUS_SUCCESS(0)<29><><EFBFBD><EFBFBD><EFBFBD>򷵻ط<F2B7B5BB><30>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>ο<EFBFBD> CameraStatus.h <20>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6>
/// \~english
/// \brief Pull up drawing Image to the specified window
/// \param [in] Image
/// \param [in] hWnd destination window
/// \param [in] Algorithm scaling algorithm 0:fast but slightly worse quality 1:slower but better quality
/// \return Returns CAMERA_STATUS_SUCCESS(0) successfully. Otherwise, it returns a non-zero error code. Please refer to the definition of the error code in CameraStatus.h.
MVSDK_API CameraSdkStatus __stdcall CameraImage_DrawFit(
void* Image,
HWND hWnd,
int Algorithm
);
/// @ingroup MV_IMAGE
/// \~chinese
/// \brief <20><><EFBFBD><EFBFBD>Image<67><65>ָ<EFBFBD><D6B8>DC
/// \param [in] Image
/// \param [in] hDC Ŀ<><C4BF>DC
/// \param [in] Algorithm <20><><EFBFBD><EFBFBD><EFBFBD>㷨 0<><30><EFBFBD><EFBFBD><EFBFBD>ٵ<EFBFBD><D9B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD> 1<><31><EFBFBD>ٶ<EFBFBD><D9B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// \param [in] xDst Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><CEB5><EFBFBD><EFBFBD>Ͻ<EFBFBD>X<EFBFBD><58><EFBFBD><EFBFBD>
/// \param [in] yDst Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><CEB5><EFBFBD><EFBFBD>Ͻ<EFBFBD>Y<EFBFBD><59><EFBFBD><EFBFBD>
/// \param [in] cxDst Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD>εĿ<CEB5><C4BF><EFBFBD>
/// \param [in] cyDst Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD>εĸ߶<C4B8>
/// \return <20>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD> CAMERA_STATUS_SUCCESS(0)<29><><EFBFBD><EFBFBD><EFBFBD>򷵻ط<F2B7B5BB><30>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>ο<EFBFBD> CameraStatus.h <20>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6>
/// \~english
/// \brief Draw Image to specified DC
/// \param [in] Image
/// \param [in] hDC destination DC
/// \param [in] Algorithm scaling algorithm 0:fast but slightly worse quality 1:slower but better quality
/// \param [in] xDst The X coordinate of the upper left corner of the target rectangle
/// \param [in] yDst The Y coordinate of the upper left corner of the target rectangle
/// \param [in] cxDst Width of target rectangle
/// \param [in] cyDst Height of target rectangle
/// \return Returns CAMERA_STATUS_SUCCESS(0) successfully. Otherwise, it returns a non-zero error code. Please refer to the definition of the error code in CameraStatus.h.
MVSDK_API CameraSdkStatus __stdcall CameraImage_DrawToDC(
void* Image,
HDC hDC,
int Algorithm,
int xDst,
int yDst,
int cxDst,
int cyDst
);
/// @ingroup MV_IMAGE
/// \~chinese
/// \brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Image<67><65>ָ<EFBFBD><D6B8>DC
/// \param [in] Image
/// \param [in] hDC Ŀ<><C4BF>DC
/// \param [in] Algorithm <20><><EFBFBD><EFBFBD><EFBFBD>㷨 0<><30><EFBFBD><EFBFBD><EFBFBD>ٵ<EFBFBD><D9B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD> 1<><31><EFBFBD>ٶ<EFBFBD><D9B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// \param [in] xDst Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><CEB5><EFBFBD><EFBFBD>Ͻ<EFBFBD>X<EFBFBD><58><EFBFBD><EFBFBD>
/// \param [in] yDst Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><CEB5><EFBFBD><EFBFBD>Ͻ<EFBFBD>Y<EFBFBD><59><EFBFBD><EFBFBD>
/// \param [in] cxDst Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD>εĿ<CEB5><C4BF><EFBFBD>
/// \param [in] cyDst Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD>εĸ߶<C4B8>
/// \return <20>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD> CAMERA_STATUS_SUCCESS(0)<29><><EFBFBD><EFBFBD><EFBFBD>򷵻ط<F2B7B5BB><30>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>ο<EFBFBD> CameraStatus.h <20>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6>
/// \~english
/// \brief Pull up drawing Image to specified DC
/// \param [in] Image
/// \param [in] hDC destination DC
/// \param [in] Algorithm scaling algorithm 0:fast but slightly worse quality 1:slower but better quality
/// \param [in] xDst The X coordinate of the upper left corner of the target rectangle
/// \param [in] yDst The Y coordinate of the upper left corner of the target rectangle
/// \param [in] cxDst Width of target rectangle
/// \param [in] cyDst Height of target rectangle
/// \return Returns CAMERA_STATUS_SUCCESS(0) successfully. Otherwise, it returns a non-zero error code. Please refer to the definition of the error code in CameraStatus.h.
MVSDK_API CameraSdkStatus __stdcall CameraImage_DrawToDCFit(
void* Image,
HDC hDC,
int Algorithm,
int xDst,
int yDst,
int cxDst,
int cyDst
);
/// @ingroup MV_IMAGE
/// \~chinese
/// \brief <20><><EFBFBD><EFBFBD>Image<67><65>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>
/// \param [in] Image
/// \param [in] hWnd Ŀ<>Ĵ<EFBFBD><C4B4><EFBFBD>
/// \param [in] xDst Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><CEB5><EFBFBD><EFBFBD>Ͻ<EFBFBD>X<EFBFBD><58><EFBFBD><EFBFBD>
/// \param [in] yDst Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><CEB5><EFBFBD><EFBFBD>Ͻ<EFBFBD>Y<EFBFBD><59><EFBFBD><EFBFBD>
/// \param [in] cxDst Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD>εĿ<CEB5><C4BF><EFBFBD>
/// \param [in] cyDst Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD>εĸ߶<C4B8>
/// \param [in] xSrc ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><CEB5><EFBFBD><EFBFBD>Ͻ<EFBFBD>X<EFBFBD><58><EFBFBD><EFBFBD>
/// \param [in] ySrc ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><CEB5><EFBFBD><EFBFBD>Ͻ<EFBFBD>Y<EFBFBD><59><EFBFBD><EFBFBD>
/// \return <20>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD> CAMERA_STATUS_SUCCESS(0)<29><><EFBFBD><EFBFBD><EFBFBD>򷵻ط<F2B7B5BB><30>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>ο<EFBFBD> CameraStatus.h <20>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6>
/// \~english
/// \brief Draw Image to specified window (without scaling)
/// \param [in] Image
/// \param [in] hWnd destination window
/// \param [in] xDst The X coordinate of the upper left corner of the target rectangle
/// \param [in] yDst The Y coordinate of the upper left corner of the target rectangle
/// \param [in] cxDst Width of target rectangle
/// \param [in] cyDst Height of target rectangle
/// \param [in] xSrc X coordinate of the upper left corner of the image rectangle
/// \param [in] ySrc Y coordinate of the upper left corner of the image rectangle
/// \return Returns CAMERA_STATUS_SUCCESS(0) successfully. Otherwise, it returns a non-zero error code. Please refer to the definition of the error code in CameraStatus.h.
MVSDK_API CameraSdkStatus __stdcall CameraImage_BitBlt(
void* Image,
HWND hWnd,
int xDst,
int yDst,
int cxDst,
int cyDst,
int xSrc,
int ySrc
);
/// @ingroup MV_IMAGE
/// \~chinese
/// \brief <20><><EFBFBD><EFBFBD>Image<67><65>ָ<EFBFBD><D6B8>DC<44><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>
/// \param [in] Image
/// \param [in] hDC Ŀ<><C4BF>DC
/// \param [in] xDst Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><CEB5><EFBFBD><EFBFBD>Ͻ<EFBFBD>X<EFBFBD><58><EFBFBD><EFBFBD>
/// \param [in] yDst Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><CEB5><EFBFBD><EFBFBD>Ͻ<EFBFBD>Y<EFBFBD><59><EFBFBD><EFBFBD>
/// \param [in] cxDst Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD>εĿ<CEB5><C4BF><EFBFBD>
/// \param [in] cyDst Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD>εĸ߶<C4B8>
/// \param [in] xSrc ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><CEB5><EFBFBD><EFBFBD>Ͻ<EFBFBD>X<EFBFBD><58><EFBFBD><EFBFBD>
/// \param [in] ySrc ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><CEB5><EFBFBD><EFBFBD>Ͻ<EFBFBD>Y<EFBFBD><59><EFBFBD><EFBFBD>
/// \return <20>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD> CAMERA_STATUS_SUCCESS(0)<29><><EFBFBD><EFBFBD><EFBFBD>򷵻ط<F2B7B5BB><30>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>ο<EFBFBD> CameraStatus.h <20>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6>
/// \~english
/// \brief Draw Image to specified DC (without scaling)
/// \param [in] Image
/// \param [in] hDC destination DC
/// \param [in] xDst The X coordinate of the upper left corner of the target rectangle
/// \param [in] yDst The Y coordinate of the upper left corner of the target rectangle
/// \param [in] cxDst Width of target rectangle
/// \param [in] cyDst Height of target rectangle
/// \param [in] xSrc X coordinate of the upper left corner of the image rectangle
/// \param [in] ySrc Y coordinate of the upper left corner of the image rectangle
/// \return Returns CAMERA_STATUS_SUCCESS(0) successfully. Otherwise, it returns a non-zero error code. Please refer to the definition of the error code in CameraStatus.h.
MVSDK_API CameraSdkStatus __stdcall CameraImage_BitBltToDC(
void* Image,
HDC hDC,
int xDst,
int yDst,
int cxDst,
int cyDst,
int xSrc,
int ySrc
);
/// @ingroup MV_IMAGE
/// \~chinese
/// \brief <20><>bmp<6D><70>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>Image
/// \param [in] Image
/// \param [in] FileName <20>ļ<EFBFBD><C4BC><EFBFBD>
/// \return <20>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD> CAMERA_STATUS_SUCCESS(0)<29><><EFBFBD><EFBFBD><EFBFBD>򷵻ط<F2B7B5BB><30>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>ο<EFBFBD> CameraStatus.h <20>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6>
/// \~english
/// \brief Save Image as bmp
/// \param [in] Image
/// \param [in] FileName file name
/// \return Returns CAMERA_STATUS_SUCCESS(0) successfully. Otherwise, it returns a non-zero error code. Please refer to the definition of the error code in CameraStatus.h.
MVSDK_API CameraSdkStatus __stdcall CameraImage_SaveAsBmp(
void* Image,
char const* FileName
);
/// @ingroup MV_IMAGE
/// \~chinese
/// \brief <20><>jpg<70><67>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>Image
/// \param [in] Image
/// \param [in] FileName <20>ļ<EFBFBD><C4BC><EFBFBD>
/// \param [in] Quality <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(1-100)<29><>100Ϊ<30><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѵ<EFBFBD><D1B5>ļ<EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD>
/// \return <20>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD> CAMERA_STATUS_SUCCESS(0)<29><><EFBFBD><EFBFBD><EFBFBD>򷵻ط<F2B7B5BB><30>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>ο<EFBFBD> CameraStatus.h <20>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6>
/// \~english
/// \brief Save Image as jpg
/// \param [in] Image
/// \param [in] FileName file name
/// \param [in] Quality save quality (1-100), 100 is the best quality but the file is also the largest
/// \return Returns CAMERA_STATUS_SUCCESS(0) successfully. Otherwise, it returns a non-zero error code. Please refer to the definition of the error code in CameraStatus.h.
MVSDK_API CameraSdkStatus __stdcall CameraImage_SaveAsJpeg(
void* Image,
char const* FileName,
BYTE Quality
);
/// @ingroup MV_IMAGE
/// \~chinese
/// \brief <20><>png<6E><67>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>Image
/// \param [in] Image
/// \param [in] FileName <20>ļ<EFBFBD><C4BC><EFBFBD>
/// \return <20>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD> CAMERA_STATUS_SUCCESS(0)<29><><EFBFBD><EFBFBD><EFBFBD>򷵻ط<F2B7B5BB><30>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>ο<EFBFBD> CameraStatus.h <20>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6>
/// \~english
/// \brief Save Image as png
/// \param [in] Image
/// \param [in] FileName file name
/// \return Returns CAMERA_STATUS_SUCCESS(0) successfully. Otherwise, it returns a non-zero error code. Please refer to the definition of the error code in CameraStatus.h.
MVSDK_API CameraSdkStatus __stdcall CameraImage_SaveAsPng(
void* Image,
char const* FileName
);
/// @ingroup MV_IMAGE
/// \~chinese
/// \brief <20><>raw<61><77>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>Image
/// \param [in] Image
/// \param [in] FileName <20>ļ<EFBFBD><C4BC><EFBFBD>
/// \param [in] Format 0: 8Bit Raw 1: 16Bit Raw
/// \return <20>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD> CAMERA_STATUS_SUCCESS(0)<29><><EFBFBD><EFBFBD><EFBFBD>򷵻ط<F2B7B5BB><30>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>ο<EFBFBD> CameraStatus.h <20>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6>
/// \~english
/// \brief Save Image as raw
/// \param [in] Image
/// \param [in] FileName file name
/// \param [in] Format 0: 8Bit Raw 1: 16Bit Raw
/// \return Returns CAMERA_STATUS_SUCCESS(0) successfully. Otherwise, it returns a non-zero error code. Please refer to the definition of the error code in CameraStatus.h.
MVSDK_API CameraSdkStatus __stdcall CameraImage_SaveAsRaw(
void* Image,
char const* FileName,
int Format
);
/// @ingroup MV_IMAGE
/// \~chinese
/// \brief <20><>Image<67><65><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>IPicture
/// \param [in] Image
/// \param [out] NewPic <20>´<EFBFBD><C2B4><EFBFBD><EFBFBD><EFBFBD>IPicture
/// \return <20>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD> CAMERA_STATUS_SUCCESS(0)<29><><EFBFBD><EFBFBD><EFBFBD>򷵻ط<F2B7B5BB><30>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>ο<EFBFBD> CameraStatus.h <20>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6>
/// \~english
/// \brief Create an IPicture from an Image
/// \param [in] Image
/// \param [out] NewPic Newly created IPicture
/// \return Returns CAMERA_STATUS_SUCCESS(0) successfully. Otherwise, it returns a non-zero error code. Please refer to the definition of the error code in CameraStatus.h.
MVSDK_API CameraSdkStatus __stdcall CameraImage_IPicture(
void* Image,
IPicture** NewPic
);
#endif // _MV_CAMERA_IMAGE_H_