#ifndef PUBLICFUNC_H_ #define PUBLICFUNC_H_ #include "stdafx.h" #include //#include "UI_INI.h" //#include "DirectshowCaptureVideo.h" //#include "DirectshowCaptureVideoUvc.h" using namespace std; /************************************ **扫描参数,json格式保存参数名称** *************************************/ #define PIXTYPE "iPixType" #define PAPARSIZE "iPaparSize" #define AUTOCROP "bAuotCrop" #define RESOLUTION "iResolution" #define DUPLEX "iDuplex" #define DISCARBLANK "bDiscardBlank" #define DISCARBLANKVINCE "bDiscardBlankVince" #define FLOD "bFlod" #define BRIGHTNESS "iBrightness" #define AUTOCONTRAST "bAutoContrast" #define CONTRAST "iContrast" #define GAMMA "dGamma" #define FILTERTYPE "iFilter" #define FILLBLACK "bFillBlcak" #define AUTODESCREW "bAutoDescrew" #define ULTRADETECT "bUltrasonicDetect" #define BINDINGDETECT "bBindingDetect" #define SCANCOUNT "ScanCount" #define DOCORIENTATION "bOrientation" #define BACKROTATE180 "iBackRotate180" #define SCREWDETECT "bScrewDetect" #define SCREWLEVEL "iScrewLevel" #define ITEMCAPTION "Caption" #define SAVEPATH "SavePath" #define OUTHOLE "bOutHole" #define OUTHOLERATIO "iOutHoleRatio" /****************** **参数保存结构体** *******************/ 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 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; }; typedef struct tagCONFIGINFO CONFIGINFO,*PCONFIGINFO; struct tagOutHole { BOOL EnOutHole; INT OutHoleRatio; }; typedef tagOutHole OutHole,*pOutHole; #define CAPTION_LEN 256 #define TWAIN_IMAGE_FILE_LIST_NAME TEXT(".dat") #ifndef malloc_my #define malloc_my malloc #endif 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; 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