📄 camapi.h
字号:
#ifndef _CAM_CTRL_API_H_
#define _CAM_CTRL_API_H_
#define MAX_CAPTRUE_FRAME_NUM 15
typedef enum
{
CAM_CTRL_ERR_NONE,
CAM_CTRL_OPERATION_FAILED,
CAM_CTRL_INVALID_PARAMS,
CAM_CTRL_INVALID_STATE
} CAM_CTRL_ERR_ENUM;
typedef enum
{
CAMCTRL_STATE_UNINITIALIZED,
CAMCTRL_STATE_INITIALIZED,
CAMCTRL_STATE_OPEN,
CAMCTRL_STATE_ON_PREVIEW,
CAMCTRL_STATE_OFF_PREVIEW,
CAMCTRL_STATE_ON_CAPTURE,
CAMCTRL_STATE_CAPTURE_END,
CAMCTRL_STATE_ON_DECODE,
CAMCTRL_STATE_DECODE_END,
CAMCTRL_STATE_ERROR
}CAM_CTRL_STATE_ENUM;
typedef enum
{
IMAGE_QUALITY_HIGH,
IMAGE_QUALITY_MIDIUM,
IMAGE_QUALITY_LOW
}CAM_IMAGE_QUALITY_ENUM;
typedef struct
{
UINT16 u16Startx;
UINT16 u16Starty;
UINT16 u16Width;
UINT16 u16Height;
}IMAGE_VIEWBOX_STRUCT;
typedef enum
{
ZOOM_IN,
ZOOM_OUT
}CAM_IMAGE_ZOOM_ENUM;
typedef enum
{
BRIGHT_HIGHER,
BRIGHT_LOWER
}CAM_IMAGE_BRIGHT_ENUM;
typedef enum
{
IMAGE_EFFECT_NORMAL=0,
IMAGE_EFFECT_WARM,
IMAGE_EFFECT_COOL,
IMAGE_EFFECT_FOG,
IMAGE_EFFECT_NEGATION,
IMAGE_EFFECT_GRAY,
}CAM_IMAGE_EFFECT_ENUM;
typedef enum
{
OSD_NORMAL_DISP,
OSD_OVERWRITE_DISP,
OSD_OVERLAY_DISP
}OSD_MODE_ENUM;
typedef enum
{
OSD_OVERLAY_XOR=0,
OSD_OVERLAY_75_25,
OSD_OVERLAY_50_50,
OSD_OVERLAY_25_75,
OSD_OVERLAY_0_100
}OSD_OVERLAY_PARAM_ENUM;
typedef enum
{
CSHOT_COUNT_THREE=3,
CSHOT_COUNT_FIVE =5,
CSHOT_COUNT_NINE =9,
CSHOUT_COUNT_FIFTEEN=15
}CSHOT_COUNT_ENUM;
typedef enum
{
FRAME_SAMPLE_ONE =1,
FRAME_SAMPLE_THREE=3,
FRAME_SAMPLE_FIVE=5
}FRAME_SAMPLING_RATE_ENUM;
typedef enum
{
STILL_BMP,
STILL_JPEG,
CONTINUOUS_JPEG,
MOVIE_JPEG
}IMAGE_TYPE_ENUM;
typedef enum
{
IMAGE_RES_VGA,
IMAGE_RES_QVGA,
IMAGE_RES_QQVGA,
IMAGE_RES_CLDC , // Only for bmp preview
IMAGE_RES_MOVIE, // for movie
IMAGE_RES_OSD // for osd
}CAM_IMAGE_RESOLUTION_ENUM;
typedef enum
{
CAMCTRL_EVENT_OPERATION_COMPLETE
}CAMCTRL_OPERATION_EVENT_ENUM;
typedef struct
{
UINT16 u16ClientWinSX;
UINT16 u16ClientWinSY;
UINT16 u16ClientWinWX;
UINT16 u16ClientWinWY;
UINT16 u16LCDHeight;
UINT16 u16LCDWidth;
BOOL bIntEnable;
}CAM_CTRL_INIT_PARAM_STRUCT;
typedef struct
{
OSD_MODE_ENUM eOSDMode;
OSD_OVERLAY_PARAM_ENUM eOSDParameter;
UINT16 u16ChromaKeyValue;
UINT16 *pOSDImg;
} CAM_OSD_OPTION_STRUCT;
typedef struct
{
UINT32 u32ImageSize;
UINT16 u16ImageWidth;
UINT16 u16ImageHeight;
}CAM_IMAGE_INFO_STRUCT;
typedef struct
{
UINT32 u32ImageSize;
UINT16 u16ImageWidth;
UINT16 u16ImageHeight;
UINT16 *pImgData;
BOOL bFitInWindow;
}CAM_DISP_IMAGE_STRUCT;
typedef struct
{
CSHOT_COUNT_ENUM eCaptureCounts;
FRAME_SAMPLING_RATE_ENUM eImageSamplingRate;
} CAM_CONTINUOUSSHOT_SETTING_STRUCT;
typedef struct
{
FRAME_SAMPLING_RATE_ENUM eImageSamplingRate;
} CAM_MOVIESHOT_SETTING_STRUCT;
CAM_CTRL_ERR_ENUM CamCtrl_Init(CAM_CTRL_INIT_PARAM_STRUCT sInitParam,void func(CAMCTRL_OPERATION_EVENT_ENUM Mode, void *Param));
CAM_CTRL_ERR_ENUM CamCtrl_Open(void);
CAM_CTRL_ERR_ENUM CamCtrl_ChangeZoom(CAM_IMAGE_ZOOM_ENUM eZoom);
CAM_CTRL_ERR_ENUM CamCtrl_ChangeBright(CAM_IMAGE_BRIGHT_ENUM eBright);
CAM_CTRL_ERR_ENUM CamCtrl_ChangeImageEffect(CAM_IMAGE_EFFECT_ENUM eImgEffect);
CAM_CTRL_ERR_ENUM CamCtrl_ChangeImageQuality(CAM_IMAGE_QUALITY_ENUM eImgQuality) ;
CAM_CTRL_ERR_ENUM CamCtrl_ChangeImageSize(CAM_IMAGE_RESOLUTION_ENUM eResolution);
CAM_CTRL_ERR_ENUM CamCtrl_SetSinglePreview(void);
CAM_CTRL_ERR_ENUM CamCtrl_SetOSDPreview(CAM_OSD_OPTION_STRUCT sOSDOption);
CAM_CTRL_ERR_ENUM CamCtrl_SetContinuousPreview(CAM_CONTINUOUSSHOT_SETTING_STRUCT sSetting);
CAM_CTRL_ERR_ENUM CamCtrl_SetMoviePreview(CAM_MOVIESHOT_SETTING_STRUCT sSetting);
CAM_CTRL_ERR_ENUM CamCtrl_CaptureImage(void);
CAM_CTRL_ERR_ENUM CamCtrl_StopMovieCapture();
CAM_CTRL_ERR_ENUM CamCtrl_StartMoviePlay();
CAM_CTRL_ERR_ENUM CamCtrl_StopMoviePlay();
CAM_CTRL_ERR_ENUM CamCtrl_DispPhoto(CAM_DISP_IMAGE_STRUCT sDispImgInfo);
CAM_CTRL_ERR_ENUM CamCtrl_DownLoadMovie( CAM_DISP_IMAGE_STRUCT sMovieInfo ,UINT32 u32Offset);
CAM_CTRL_ERR_ENUM CamCtrl_UpDateLCDRectangle(UINT16 u16Startx, UINT16 u16Starty,UINT16 u16Endx, UINT16 u16Endy, UINT16*pData);
CAM_CTRL_ERR_ENUM CamCtrl_Close(void);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -