#ifndef PUBLICFUNC_H_ #define PUBLICFUNC_H_ #include "stdafx.h" #include using namespace std; struct tagCONFIGPARAMS { /*基本选项卡参数*/ INT Pixtype; INT PaperSize; BOOL EnAutoCrop; INT Resolution; INT Duplex; BOOL EnDiscardBlank; BOOL EnDiscardBlankVince; BOOL EnFlod; /*亮度对比度选项卡参数*/ INT Brightness; BOOL EnAutoContrast; INT Contrast; INT Gamma; /*图像处理选项卡参数*/ INT Filter; BOOL EnFillBlack; BOOL EnAutoDescrew; //BOOL EnMulti BOOL EnOutHole; INT OutHoleRatio; BOOL EnMultiOutPutR; /*送纸部分选项卡参数*/ BOOL EnUltrasonicDetect; BOOL EnBindingDetect; INT ScanCount; INT Orentation; BOOL EnBackRotate180; BOOL EnScrewDetect; INT ScrewDetectLevel; /*保存信息*/ std::string Caption; std::string SavePath; }; typedef tagCONFIGPARAMS CONFIGPARAMS,*PCONFIGPARAMS; struct tagCONFIGINFO { std::string Caption; std::string SavePath; }; struct SPSET { unsigned int FSP; unsigned int BSP; }; typedef struct tagCONFIGINFO CONFIGINFO,*PCONFIGINFO; typedef unsigned int u32; typedef struct { u32 gainF[6]; u32 gainB[6]; u32 offsetsF[6]; u32 offsetsB[6]; u32 expF[3]; u32 expB[3]; u32 sp; }HGCISConfig; typedef struct { HGCISConfig colorCorrect; HGCISConfig color; HGCISConfig grayCorrect; HGCISConfig gray; }HGCorrectConfigs; typedef struct Correct_Param { unsigned int Exposures[6]; unsigned int Gain[12]; unsigned int Offset[12]; }CorrectParam; typedef struct CaptureParams { int correctColorExposure[6]; int correctColorGain[12]; int correctColorOffset[12]; int correctGrayExposure[6]; int correctGrayGain[12]; int correctGrayOffset[12]; int colorExposure[6]; int colorGain[12]; int colorOffset[12]; int grayExposure[6]; int grayGain[12]; int grayOffset[12]; int uvCorrectColorExposure[2]; int uvCorrectGrayExposure[2]; int uvColorExposure[2]; int uvGrayExposure[2]; } CaptureParams; typedef struct tagTWAIN_IMAGE_FILE_LIST { INT n_item;// TCHAR sz_path[MAX_PATH]; DWORD dw_color_bit; DWORD dw_width; DWORD dw_height; DWORD dw_dpi; DWORD dw_image_size; BOOL b_del_flg;//文件时是否删除, 传送一个删除一个 }TWAIN_IMAGE_FILE_LIST,FAR*PTWAIN_IMAGE_FILE_LIST; typedef struct tagTWAIN_IMAGE_DATA_INFO { BOOL b_lock_flg;//是否在使用中 //BOOL b_flg; TCHAR sz_path_dir[MAX_PATH];//文件目录 //IMAGE_BMP_INFO st_bmp_info;//图像信息 PTWAIN_IMAGE_FILE_LIST p_wifl; INT n_wifl_count;//内存大小 INT n_wifl_cur_count;//当前使用内存个数 INT n_wifl_cur_pos;//当前传送内存位置 }TWAIN_IMAGE_DATA_INFO, FAR*PTWAIN_IMAGE_DATA_INFO; //void initialDictionary(); //CSize getSize(TwSS paperType, float dpi); DWORD ReadTwianImageData(TCHAR *p_file_path); BOOL WriteTwianImageData(TCHAR *p_file_path, PBYTE p_data, DWORD dw_size); BOOL MallocTwainFileListMem(); VOID FreeTwainFileListMem(); //取得用户自定义目录,参数 窗口句柄,当前目录, 显示在浏览对话框上的字符串 TCHAR* GetUserCustomFilePath(HWND hWin, LPSTR lpFilePath, TCHAR *lp_head_text = NULL); //取得当前模块的文件路径, 参数,模块实列举并, 文件路径, 字符串的长度 TCHAR* GetCurExeFilePath(HINSTANCE hInstance, TCHAR* lpPath, DWORD dwSize); //取得路径中已经存在的路径,并返回 TCHAR* GetExistFileDir(TCHAR* p_file_path); //回调函数,取得用户自定义的文件路径 DWORD CALLBACK BrowserCallbackProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) ; std::string UtfToString(std::string strValue); std::string StringToUtf(std::string strValue); //检查,创建文件夹, 参数 文件路径, = 真,创建p_file_path不寻在文件路径 BOOL CheckAndCreateFileDir(TCHAR* p_file_path, BOOL flg); BOOL CheckDiskFreeBitM(HWND hWin, TCHAR *p_disk_name, DWORD dw_min_bit_m); HBITMAP SetButtonStaticBkBmp(HINSTANCE hInst, HWND hWin, UINT id, UINT iamge_id); DWORD MyMessageBox(TCHAR *p_str, TCHAR *p_str2, DWORD dw_id); extern TWAIN_IMAGE_DATA_INFO g_st_twain_bmp_info; //extern CDirectshowCaptureVideo g_dc_video; extern BOOL g_b_show_ui_flg; //extern WATER_PRO g_st_water_pro; extern BOOL g_add_water_flg; extern DWORD g_dw_white_bright_count; //extern CDirectshowCaptureVideoUvc g_dc_uvc_video; extern BOOL g_b_use_uvc_dev ; extern BOOL g_b_brigth_show_flg; extern HWND g_hwnd_dlg; //extern CSysMutex g_sys_mutex; typedef enum tagSYS_MUTEX_TYPE { SYSMUTEX_APP_RUN_TYPE,// ok SYSMUTEX_TWAIN_RUN_TYPE, SYSMUTEX_APP_SCANNER_RUN_TYPE, SYSMUTEX_TWAIN_SCANNER_RUN_TYPE }SYS_MUTEX_TYPE, FAR* PSYS_MUTEX_TYPE; BOOL g_InitSysMutexRun(); BOOL g_InitSysMutexScanRun(DWORD dwPid, DWORD dwUid); BOOL g_CloseSysMutexRun(); BOOL g_CloseOneSysMutexRun(); BOOL g_CreateSysMutex(); BOOL g_CheckSysMutex(); float GetContrast(int level); VOID XdPrint(_TCHAR* format, ...); extern BOOL g_not_user_sineng_dev; extern RGBQUAD g_default_map[256]; BOOL ReadDefaultMap(); #endif