830 lines
30 KiB
C++
830 lines
30 KiB
C++
#include "stdafx.h"
|
||
#include "PublicFunc.h"
|
||
//#include "CTwainMutex.h"
|
||
#include <io.h>
|
||
#include <map>
|
||
using namespace std;
|
||
|
||
BOOL g_b_show_ui_flg = FALSE;
|
||
|
||
//WATER_PRO g_st_water_pro = {0};
|
||
BOOL g_add_water_flg = FALSE;
|
||
DWORD g_dw_white_bright_count = 40000;
|
||
|
||
//CDirectshowCaptureVideoUvc g_dc_uvc_video;
|
||
BOOL g_b_use_uvc_dev = FALSE;
|
||
TWAIN_IMAGE_DATA_INFO g_st_twain_bmp_info = {0};
|
||
BOOL g_b_brigth_show_flg = TRUE;
|
||
HWND g_hwnd_dlg = NULL;
|
||
|
||
|
||
//static std::map<int, SIZE> sizeS;
|
||
//
|
||
//
|
||
//static map<pair<TwSS, float>, CSize> dpiDct;
|
||
///*纸张类型分辨率-幅面字典*/
|
||
// void initialDictionary()
|
||
//{
|
||
// //自适应
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>((TwSS)90, 50.0),CSize(594, 898)));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>((TwSS)90, 75),CSize(892, 1347)));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>((TwSS)90, 100),CSize(1189, 1795)));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>((TwSS)90, 150),CSize(1784, 2693)));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>((TwSS)90, 200),CSize(2338, 3307)));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>((TwSS)90, 240), CSize(2854, 4308)));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>((TwSS)90, 300),CSize(3567, 5385)));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>((TwSS)90, 400), CSize(4756, 7180) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>((TwSS)90, 600), CSize(7134, 10770)));
|
||
//
|
||
// //A3
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A3, 50), CSize(585, 827)));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A3, 75), CSize(877, 1240)));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A3, 100), CSize(1169, 1653)));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A3, 150), CSize(1753, 2480)));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A3, 200), CSize(2338, 3307)));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A3, 240), CSize(2806, 3968) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A3, 300), CSize(3507, 4960) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A3, 400), CSize(4677, 6614) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A3, 600), CSize(7015, 9921) ));
|
||
//
|
||
// //A4
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A4, 50), CSize(413, 585) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A4, 75), CSize(620, 877) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A4, 100), CSize(826, 1169) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A4, 150), CSize(1240, 1753) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A4, 200), CSize(1653, 2338) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A4, 240), CSize(1984, 2806) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A4, 300), CSize(2480, 3507) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A4, 400), CSize(3307, 4677) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A4, 600), CSize(4960, 7015) ));
|
||
//
|
||
// //A4R
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A4R, 50), CSize(585, 413) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A4R, 75), CSize(877, 620) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A4R, 100), CSize(1169, 826) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A4R, 150), CSize(1753, 1240) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A4R, 200), CSize(2338,1653) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A4R, 240), CSize(2806,1984) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A4R, 300), CSize(3507,2480) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A4R, 400), CSize(4677,3307) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A4R, 600), CSize(7015,4960) ));
|
||
//
|
||
// //A5
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A5, 50), CSize(291, 413) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A5, 75), CSize(437, 620) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A5, 100), CSize(582, 826) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A5, 150), CSize(874, 1240) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A5, 200), CSize(1165, 1653) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A5, 240), CSize(1398, 1984) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A5, 300), CSize(1748, 2480) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A5, 400), CSize(2330, 3307) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A5, 600), CSize(3496, 4960) ));
|
||
//
|
||
// //A5R
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A5R, 50), CSize(413, 291) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A5R, 75), CSize(620, 437) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A5R, 100), CSize(826, 582) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A5R, 150), CSize(1240, 874) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A5R, 200), CSize(1653, 1165) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A5R, 240), CSize(1984, 1398) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A5R, 300), CSize(2480, 1748) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A5R, 400), CSize(3307, 2330) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A5R, 600), CSize(4960, 3496) ));
|
||
//
|
||
// //A6
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A6, 50), CSize(207, 291) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A6, 75), CSize(310, 437) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A6, 100), CSize(413, 582) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A6, 150), CSize(620, 874) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A6, 200), CSize(826, 1165) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A6, 240), CSize(992, 1398) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A6, 300), CSize(1240, 1748) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A6, 400), CSize(1653, 2330) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A6, 600), CSize(2480, 3496) ));
|
||
//
|
||
// //A6R
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A6R, 50), CSize(291, 207) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A6R, 75), CSize(437, 310) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A6R, 100), CSize(582, 413) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A6R, 150), CSize(874, 620) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A6R, 200), CSize(1165, 826) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A6R, 240), CSize(1398, 992) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A6R, 300), CSize(1748, 1240) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A6R, 400), CSize(2330, 1653) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(A6R, 600), CSize(3496, 2480) ));
|
||
//
|
||
// //长文稿,2倍A3
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>((TwSS)91, 50), CSize(585, 1653) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>((TwSS)91, 75), CSize(877, 2480) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>((TwSS)91, 100), CSize(1169, 1653*2) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>((TwSS)91, 150), CSize(1753, 2480*2) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>((TwSS)91, 200), CSize(2338, 3307*2) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>((TwSS)91, 240), CSize(2806, 3968*2) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>((TwSS)91, 300), CSize(3507, 4960*2) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>((TwSS)91, 400), CSize(4677, 6614*2) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>((TwSS)91, 600), CSize(7015, 9921*2) ));
|
||
//
|
||
// //B4
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B4, 50), CSize(506, 717) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B4, 75), CSize(759, 1075) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B4, 100), CSize(1011, 1433) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B4, 150), CSize(1517, 2149) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B4, 200), CSize(2023, 2866) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B4, 240), CSize(2428, 3439) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B4, 300), CSize(3035, 4299) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B4, 400), CSize(4047, 5732) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B4, 600), CSize(6070, 8598) ));
|
||
//
|
||
// //B5
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B5, 50), CSize(358, 506) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B5, 75), CSize(537, 759) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B5, 100), CSize(716, 1011) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B5, 150), CSize(1074, 1517) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B5, 200), CSize(1433, 2023) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B5, 240), CSize(1719, 2428) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B5, 300), CSize(2149, 3035) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B5, 400), CSize(2866, 4047) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B5, 600), CSize(4299, 6070) ));
|
||
//
|
||
// //B5R
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B5R, 50), CSize(506, 358) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B5R, 75), CSize(759, 537) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B5R, 100), CSize(1011, 716) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B5R, 150), CSize(1517, 1075) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B5R, 200), CSize(2023, 1433) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B5R, 240), CSize(2428, 1719) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B5R, 300), CSize(3035, 2149) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B5R, 400), CSize(4047, 2866) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B5R, 600), CSize(6070, 4299) ));
|
||
//
|
||
// //B6
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B6, 50), CSize(252, 358) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B6, 75), CSize(378, 537) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B6, 100), CSize(503, 716) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B6, 150), CSize(755, 1074) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B6, 200), CSize(1007, 1433) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B6, 240), CSize(1209, 1719) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B6, 300), CSize(1511, 2149) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B6, 400), CSize(2015, 2866) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B6, 600), CSize(3023, 4299) ));
|
||
//
|
||
// //B6R
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B6R, 50), CSize(358, 252) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B6R, 75), CSize(537, 378) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B6R, 100), CSize(716, 503) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B6R, 150), CSize(1074, 755) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B6R, 200), CSize(1433, 1007) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B6R, 240), CSize(1719, 1209) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B6R, 300), CSize(2149, 1511) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B6R, 400), CSize(2866, 2015) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(B6R, 600), CSize(4299, 3023) ));
|
||
//
|
||
// //DOUBLE LETTER
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(DOUBLELetter, 50), CSize(550, 850) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(DOUBLELetter, 75), CSize(825, 1275) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(DOUBLELetter, 100), CSize(1100, 1700) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(DOUBLELetter, 150), CSize(1650, 2550) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(DOUBLELetter, 200), CSize(2200, 3400) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(DOUBLELetter, 240), CSize(2640, 4080) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(DOUBLELetter, 300), CSize(3300, 5100) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(DOUBLELetter, 400), CSize(4400, 6800) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(DOUBLELetter, 600), CSize(6600, 10200) ));
|
||
//
|
||
// //LETTER
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(USLetter, 50), CSize(425, 550) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(USLetter, 75), CSize(638, 825) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(USLetter, 100), CSize(850, 1100) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(USLetter, 150), CSize(1275, 1650) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(USLetter, 200), CSize(1700, 2200) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(USLetter, 240), CSize(2040, 2640) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(USLetter, 300), CSize(2550, 3300) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(USLetter, 400), CSize(3400, 4400) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(USLetter, 600), CSize(5100, 6600) ));
|
||
//
|
||
// //LETTERR
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(USLetterR, 50), CSize(550, 425) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(USLetterR, 75), CSize(825, 638) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(USLetterR, 100), CSize(1100, 850) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(USLetterR, 150), CSize(1650, 1275) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(USLetterR, 200), CSize(2200, 1700) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(USLetterR, 240), CSize(2640, 2040) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(USLetterR, 300), CSize(3300, 2550) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(USLetterR, 400), CSize(4400, 3400) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(USLetterR, 600), CSize(6600, 5100) ));
|
||
//
|
||
// //LETTERR
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(USLegal, 50), CSize(425, 700) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(USLegal, 75), CSize(638, 1050) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(USLegal, 100), CSize(850, 1400) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(USLegal, 150), CSize(1275, 2100) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(USLegal, 200), CSize(1700, 2800) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(USLegal, 240), CSize(2040, 3360) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(USLegal, 300), CSize(2550, 4200) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(USLegal, 400), CSize(3400, 5600) ));
|
||
// dpiDct.insert(pair<pair<TwSS,float>,CSize>(pair<TwSS,float>(USLegal, 600), CSize(5100, 8400) ));
|
||
//}
|
||
//
|
||
///*根据纸张类型分辨率获取幅面大小*/
|
||
// CSize getSize(TwSS paperType, float dpi)
|
||
//{
|
||
// CSize retSize;
|
||
// map<pair<TwSS, float>, CSize>::iterator iter;
|
||
// iter = dpiDct.find(pair<TwSS, float>(paperType,dpi));
|
||
// if(iter != dpiDct.end()){
|
||
// retSize = (*iter).second;
|
||
// return retSize;
|
||
// }
|
||
// return CSize(2338, 3307);
|
||
//}
|
||
|
||
TCHAR* GetUserCustomFilePath(HWND hWin, TCHAR* lpFilePath, TCHAR *lp_head_text )
|
||
{
|
||
if ( lpFilePath == NULL )
|
||
{
|
||
return NULL;
|
||
}
|
||
|
||
BROWSEINFO bi = {0};
|
||
TCHAR szBuffer[MAX_PATH] = {0};
|
||
|
||
memset(&bi, 0, sizeof(BROWSEINFO));
|
||
|
||
|
||
bi.hwndOwner = hWin;
|
||
bi.pszDisplayName = GetExistFileDir(lpFilePath);
|
||
bi.ulFlags = BIF_RETURNONLYFSDIRS | BIF_SHAREABLE | BIF_USENEWUI | BIF_RETURNFSANCESTORS ;
|
||
|
||
LPITEMIDLIST pIDList = NULL;
|
||
LPMALLOC lpMalloc = NULL;
|
||
//m_pUI_INI->GetMessageBoxStr(szBuffer, sizeof(szBuffer), 1041);
|
||
//bi.lpszTitle = szBuffer;//1041=请选择文件存储路径
|
||
bi.lpszTitle = lp_head_text;//TEXT("请选择新建文件夹");
|
||
bi.lpfn = (BFFCALLBACK)BrowserCallbackProc; //回调函数
|
||
bi.lParam = (LPARAM)lpFilePath; //回调函数的使用的参数,用来设定默认路径
|
||
|
||
pIDList = SHBrowseForFolder(&bi);
|
||
if ( pIDList != NULL )
|
||
{
|
||
SHGetPathFromIDList(pIDList, lpFilePath);
|
||
}
|
||
if ( SHGetMalloc( &lpMalloc ) )
|
||
{
|
||
return NULL; //释放内存
|
||
}
|
||
if ( pIDList == NULL )
|
||
{
|
||
return NULL; //释放内存
|
||
}
|
||
lpMalloc->Free(pIDList);
|
||
lpMalloc->Release();
|
||
pIDList = NULL;
|
||
lpMalloc = NULL;
|
||
//_tcscpy(lpFilePath, szBuffer2);
|
||
return lpFilePath;
|
||
}
|
||
|
||
TCHAR* GetCurExeFilePath(HINSTANCE hInstance, TCHAR* lpPath, DWORD dwSize)
|
||
{
|
||
INT nRet = 0x0L;
|
||
TCHAR *p = NULL;
|
||
if ( lpPath == NULL || dwSize == 0 )
|
||
{
|
||
return NULL;
|
||
}
|
||
nRet = GetModuleFileName(hInstance, lpPath, dwSize);
|
||
if (nRet > 0)
|
||
{
|
||
p = _tcsrchr(lpPath, TEXT('\\'));
|
||
if ( p != NULL )
|
||
{
|
||
*(p+1) = TEXT('\0');
|
||
}
|
||
else
|
||
{
|
||
return NULL;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return NULL;
|
||
}
|
||
return lpPath;
|
||
}
|
||
|
||
TCHAR* GetExistFileDir(TCHAR* p_file_path)
|
||
{
|
||
//WIN32_FIND_DATA wfd = {0};
|
||
//LPSTR p_test = NULL;
|
||
//HANDLE hFindFile = INVALID_HANDLE_VALUE;
|
||
|
||
//if ( p_file_path == NULL )
|
||
// return NULL;
|
||
//
|
||
//hFindFile = FindFirstFile(p_file_path, &wfd);
|
||
//if (hFindFile != NULL)
|
||
//{
|
||
// FindClose(hFindFile);
|
||
// hFindFile= INVALID_HANDLE_VALUE;
|
||
//}
|
||
//if ( wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY )
|
||
//{
|
||
// return p_file_path;
|
||
//}
|
||
//
|
||
//p_test = _tcsrchr(p_file_path, '\\');
|
||
//if ( p_test != NULL )
|
||
//{
|
||
// *p_test = 0;
|
||
// return GetExistFileDir(p_file_path);
|
||
//}
|
||
//else
|
||
//{
|
||
return NULL;
|
||
//}
|
||
}
|
||
|
||
DWORD CALLBACK BrowserCallbackProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||
{
|
||
switch(uMsg)
|
||
{
|
||
case BFFM_INITIALIZED: //LPARAM(TEXT("D:\\test_adf_project"))
|
||
SendMessage(hWnd, BFFM_SETSELECTION, TRUE, lParam); //lpData就是上一个函数的 info.lParam ,也就是默认路径
|
||
break;
|
||
default:
|
||
break;
|
||
}
|
||
return 0;
|
||
}
|
||
|
||
BOOL CheckAndCreateFileDir(TCHAR* p_file_path, BOOL flg)
|
||
{
|
||
TCHAR szTmp[MAX_PATH] = {0};
|
||
WIN32_FIND_DATA wfd = {0};
|
||
INT len = 0;
|
||
INT pos = 0;
|
||
BOOL bFlg = FALSE;
|
||
HANDLE hFindFile = INVALID_HANDLE_VALUE;
|
||
|
||
if ( p_file_path == NULL )
|
||
return FALSE;
|
||
|
||
if ( *p_file_path >= 'a' && *p_file_path <= 'z' || *p_file_path >= 'A' && *p_file_path <= 'Z')
|
||
{
|
||
if ( *(p_file_path+1) != ':' && *(p_file_path+2) != '\\')
|
||
{
|
||
return FALSE;
|
||
}
|
||
}
|
||
//if ( _access(p_file_path, 0) == 0)
|
||
//{
|
||
// return TRUE;
|
||
//}
|
||
|
||
if ( !flg )
|
||
return FALSE;
|
||
|
||
if ( CreateDirectory(p_file_path, NULL) )
|
||
return TRUE;
|
||
|
||
_tcscpy(szTmp, p_file_path);
|
||
|
||
len = (INT)_tcslen(szTmp);
|
||
|
||
bFlg = FALSE;
|
||
while(len)
|
||
{
|
||
if ( *(szTmp+len-1) == '\\' )
|
||
{
|
||
bFlg = TRUE;
|
||
break;
|
||
}
|
||
len--;
|
||
}
|
||
if ( bFlg )
|
||
{
|
||
*(szTmp+len-1) = 0;
|
||
CheckAndCreateFileDir(szTmp, flg);
|
||
return CreateDirectory(p_file_path, NULL);
|
||
}
|
||
else
|
||
return FALSE;
|
||
}
|
||
|
||
BOOL CheckDiskFreeBitM(HWND hWin, TCHAR *p_disk_name, DWORD dw_min_bit_m)
|
||
{
|
||
//TCHAR *p = NULL;
|
||
//TCHAR sz_root_path_name[MAX_PATH + 1] = {0};
|
||
//INT len = 0;
|
||
//
|
||
//DWORD dwTotalDiskSpace = 0;
|
||
//DWORD dwFreeDiskSpace = 0;
|
||
//DWORD dwUsedDiskSpace = 0;
|
||
|
||
//ULARGE_INTEGER uiFreeBytesAvailableToCaller;
|
||
//ULARGE_INTEGER uiTotalNumberOfBytes;
|
||
//ULARGE_INTEGER uiTotalNumberOfFreeBytes;
|
||
|
||
//UINT un_ret = 0;
|
||
//if ( p_disk_name == NULL )
|
||
// return FALSE;
|
||
|
||
//len = _tcslen(p_disk_name);
|
||
//if ( len > MAX_PATH )
|
||
//{
|
||
// len = MAX_PATH;
|
||
//}
|
||
|
||
//memcpy(sz_root_path_name, p_disk_name, (size_t)len);
|
||
|
||
//p = _tcsstr(sz_root_path_name, "\\");
|
||
//if ( p == NULL )
|
||
//{
|
||
// if ( len == 2 )
|
||
// {
|
||
// if ( !((sz_root_path_name[0] >= 'A' && sz_root_path_name[0] <= 'Z' || sz_root_path_name[0] >= 'a' && sz_root_path_name[0] <= 'z') && sz_root_path_name[1]== ':') )
|
||
// return FALSE;
|
||
// }
|
||
// else
|
||
// return FALSE;
|
||
//}
|
||
//if ( p != NULL )
|
||
// *(p+1) = 0;
|
||
//un_ret = GetDriveType(sz_root_path_name);
|
||
//if ( un_ret == 0 || un_ret == 1)
|
||
//{
|
||
// return FALSE;
|
||
//}
|
||
//
|
||
//if(GetDiskFreeSpaceEx(sz_root_path_name, &uiFreeBytesAvailableToCaller, &uiTotalNumberOfBytes, &uiTotalNumberOfFreeBytes))
|
||
//{
|
||
// //dwTotalDiskSpace = (DWORD)(uiTotalNumberOfBytes.QuadPart / 1024 / 1024);
|
||
// dwFreeDiskSpace = (DWORD)(uiFreeBytesAvailableToCaller.QuadPart >> 20);
|
||
// //dwUsedDiskSpace = dwTotalDiskSpace - dwFreeDiskSpace;
|
||
// if ( dwFreeDiskSpace < dw_min_bit_m )
|
||
// {
|
||
// //ShowErrorStr(hWin, 1101);//1101=磁盘空间不足
|
||
// MyMessageBox( TEXT("磁盘分区可用空间不足"), 0, MB_ICONWARNING);
|
||
// return FALSE;
|
||
// }
|
||
//}
|
||
//else
|
||
//{
|
||
// MyMessageBox( TEXT("磁盘分区可用空间不足"), 0, MB_ICONWARNING);
|
||
// //GetErrorMessage(NULL, 0, FALSE);
|
||
// return FALSE;
|
||
//}
|
||
//ShowErrorStr(hWin, 1101);//1101=磁盘空间不足
|
||
//return FALSE;
|
||
return TRUE;
|
||
}
|
||
|
||
HBITMAP SetButtonStaticBkBmp(HINSTANCE hInst, HWND hWin, UINT id, UINT iamge_id)
|
||
{
|
||
|
||
UINT ctr_msg = 0;
|
||
UINT str_iamge_type = 0;
|
||
HBITMAP hBitmap = NULL;
|
||
HBITMAP hOldBitmap = NULL;
|
||
//BS_ICON BS_BITMAP
|
||
//SS_BITMAP|SS_CENTERIMAGE SS_ICON
|
||
|
||
LONG ctr_s = 0;
|
||
ctr_s = GetWindowLong(GetDlgItem(hWin, id), GWL_STYLE);
|
||
|
||
ctr_msg = STM_SETIMAGE;
|
||
ctr_s |= SS_BITMAP | SS_CENTERIMAGE | SS_RIGHT;
|
||
|
||
hBitmap = LoadBitmap(hInst, MAKEINTRESOURCE(iamge_id));
|
||
|
||
if ( hBitmap == NULL )
|
||
{
|
||
return NULL;
|
||
}
|
||
|
||
SetWindowLong(GetDlgItem(hWin, id), GWL_STYLE, ctr_s);
|
||
hOldBitmap = (HBITMAP)SendDlgItemMessage(hWin, id, ctr_msg, IMAGE_BITMAP, (LPARAM)hBitmap);
|
||
if ( hOldBitmap != NULL )
|
||
{
|
||
DeleteObject(hOldBitmap);
|
||
hOldBitmap = NULL;
|
||
}
|
||
DeleteObject(hBitmap);
|
||
hBitmap = NULL;
|
||
return hBitmap;
|
||
}
|
||
|
||
|
||
VOID FreeTwainFileListMem()
|
||
{
|
||
if ( g_st_twain_bmp_info.p_wifl != NULL )
|
||
{
|
||
free(g_st_twain_bmp_info.p_wifl);
|
||
g_st_twain_bmp_info.p_wifl = NULL;
|
||
}
|
||
|
||
//if ( g_st_twain_bmp_info.st_bmp_info.p_image_data != NULL )
|
||
//{
|
||
// free(g_st_twain_bmp_info.st_bmp_info.p_image_data);
|
||
// g_st_twain_bmp_info.st_bmp_info.p_image_data = NULL;
|
||
//}
|
||
//memset(&g_st_twain_bmp_info, 0, sizeof(TWAIN_IMAGE_DATA_INFO));
|
||
}
|
||
|
||
BOOL MallocTwainFileListMem()
|
||
{
|
||
if ( g_st_twain_bmp_info.p_wifl == NULL )
|
||
{
|
||
memset(&g_st_twain_bmp_info, 0, sizeof(TWAIN_IMAGE_DATA_INFO));
|
||
}
|
||
else if ( g_st_twain_bmp_info.n_wifl_count != 0 && g_st_twain_bmp_info.p_wifl == NULL )
|
||
{
|
||
memset(&g_st_twain_bmp_info, 0, sizeof(TWAIN_IMAGE_DATA_INFO));
|
||
}
|
||
|
||
if ( g_st_twain_bmp_info.n_wifl_cur_count +3 > g_st_twain_bmp_info.n_wifl_count)
|
||
{
|
||
if ( SHGetSpecialFolderPath(NULL, g_st_twain_bmp_info.sz_path_dir, CSIDL_LOCAL_APPDATA, TRUE) )
|
||
{
|
||
INT len = _tcslen(g_st_twain_bmp_info.sz_path_dir);
|
||
if ( len > 0 )
|
||
{
|
||
//if ( g_st_twain_bmp_info.sz_path_dir[len -1] != '\\' )
|
||
// _tcscat(g_st_twain_bmp_info.sz_path_dir, TEXT("\\"));
|
||
//_tcscat(g_st_twain_bmp_info.sz_path_dir, TWAIN_DATA_PATH);
|
||
//CheckAndCreateFileDir(g_st_twain_bmp_info.sz_path_dir, TRUE);
|
||
}
|
||
}
|
||
else
|
||
return FALSE;
|
||
if ( g_st_twain_bmp_info.p_wifl == NULL )
|
||
{
|
||
g_st_twain_bmp_info.p_wifl = (PTWAIN_IMAGE_FILE_LIST)malloc(sizeof(TWAIN_IMAGE_FILE_LIST)* (g_st_twain_bmp_info.n_wifl_count + 20));
|
||
if ( g_st_twain_bmp_info.p_wifl != NULL )
|
||
{
|
||
memset(g_st_twain_bmp_info.p_wifl, 0, sizeof(TWAIN_IMAGE_FILE_LIST)* (g_st_twain_bmp_info.n_wifl_count + 20));
|
||
g_st_twain_bmp_info.n_wifl_count += 20;
|
||
|
||
|
||
}
|
||
else
|
||
return FALSE;
|
||
}
|
||
else
|
||
{
|
||
PTWAIN_IMAGE_FILE_LIST p_wifl = (PTWAIN_IMAGE_FILE_LIST)malloc(sizeof(TWAIN_IMAGE_FILE_LIST)* (g_st_twain_bmp_info.n_wifl_count + 20));
|
||
if ( g_st_twain_bmp_info.p_wifl != NULL )
|
||
{
|
||
memset(p_wifl, 0, sizeof(TWAIN_IMAGE_FILE_LIST)* (g_st_twain_bmp_info.n_wifl_count + 20));
|
||
memcpy(p_wifl, g_st_twain_bmp_info.p_wifl, sizeof(TWAIN_IMAGE_FILE_LIST)* g_st_twain_bmp_info.n_wifl_cur_count );
|
||
g_st_twain_bmp_info.n_wifl_count += 20;
|
||
free(g_st_twain_bmp_info.p_wifl);
|
||
g_st_twain_bmp_info.p_wifl = p_wifl;
|
||
p_wifl = NULL;
|
||
}
|
||
else
|
||
return FALSE;
|
||
}
|
||
}
|
||
return TRUE;
|
||
}
|
||
|
||
BOOL WriteTwianImageData(TCHAR *p_file_path, PBYTE p_data, DWORD dw_size)
|
||
{
|
||
DWORD dw_write_size = 0;
|
||
|
||
if ( p_file_path == NULL || p_data == NULL )
|
||
return FALSE;
|
||
if ( _msize(p_data) < dw_size )
|
||
return FALSE;
|
||
|
||
DeleteFile(p_file_path);
|
||
HANDLE h_file = CreateFile(p_file_path, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_ALWAYS, NULL, NULL);
|
||
if ( h_file == INVALID_HANDLE_VALUE )
|
||
{
|
||
return FALSE;
|
||
}
|
||
BOOL b_flg = WriteFile(h_file, p_data, dw_size, &dw_write_size,0);
|
||
if ( !b_flg || dw_size != dw_write_size )
|
||
{
|
||
b_flg = FALSE;
|
||
}
|
||
CloseHandle(h_file);
|
||
h_file = INVALID_HANDLE_VALUE;
|
||
if ( !b_flg )
|
||
{
|
||
DeleteFile(p_file_path);
|
||
}
|
||
|
||
return TRUE;
|
||
}
|
||
|
||
DWORD ReadTwianImageData(TCHAR *p_file_path)
|
||
{
|
||
if ( p_file_path == NULL )
|
||
return 0;
|
||
|
||
DWORD dw_size = 0;
|
||
|
||
HANDLE h_file = CreateFile(p_file_path, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_EXISTING, NULL, NULL);
|
||
if ( h_file == INVALID_HANDLE_VALUE )
|
||
{
|
||
return 0;
|
||
}
|
||
dw_size = GetFileSize(h_file, 0);
|
||
if ( dw_size == 0 )
|
||
{
|
||
CloseHandle(h_file);
|
||
return 0;
|
||
}
|
||
//if ( g_st_twain_bmp_info.st_bmp_info.p_image_data != NULL )
|
||
//{
|
||
// free(g_st_twain_bmp_info.st_bmp_info.p_image_data);
|
||
// g_st_twain_bmp_info.st_bmp_info.p_image_data = NULL;
|
||
//}
|
||
//DWORD dw_read_size = 0;
|
||
//g_st_twain_bmp_info.st_bmp_info.p_image_data = (PBYTE)malloc(dw_size);
|
||
//if ( g_st_twain_bmp_info.st_bmp_info.p_image_data == NULL )
|
||
//{
|
||
// CloseHandle(h_file);
|
||
// return 0;
|
||
//}
|
||
|
||
//BOOL b_flg = ReadFile(h_file, ////g_st_twain_bmp_info.st_bmp_info.p_image_data, dw_size, /&dw_read_size,/ 0);
|
||
////CloseHandle(h_file);
|
||
//h_file = INVALID_HANDLE_VALUE;
|
||
//if ( !b_flg || dw_size != dw_read_size)
|
||
//{
|
||
// //free(g_st_twain_bmp_info.st_bmp_info.p_image_data);
|
||
// dw_size = 0;
|
||
//}
|
||
//else
|
||
// DeleteFile(p_file_path);
|
||
|
||
return dw_size;
|
||
}
|
||
|
||
|
||
std::string UtfToString(std::string strValue)
|
||
{
|
||
int nwLen = ::MultiByteToWideChar(CP_ACP, 0, strValue.c_str(), -1, NULL, 0);
|
||
wchar_t * pwBuf = new wchar_t[nwLen + 1];//加上末尾'\0'
|
||
ZeroMemory(pwBuf, nwLen * 2 + 2);
|
||
::MultiByteToWideChar(CP_ACP, 0, strValue.c_str(), strValue.length(), pwBuf, nwLen);
|
||
int nLen = ::WideCharToMultiByte(CP_UTF8, 0, pwBuf, -1, NULL, NULL, NULL, NULL);
|
||
char * pBuf = new char[nLen + 1];
|
||
ZeroMemory(pBuf, nLen + 1);
|
||
::WideCharToMultiByte(CP_UTF8, 0, pwBuf, nwLen, pBuf, nLen, NULL, NULL);
|
||
std::string retStr(pBuf);
|
||
delete []pwBuf;
|
||
delete []pBuf;
|
||
pwBuf = NULL;
|
||
pBuf = NULL;
|
||
return retStr;
|
||
}
|
||
|
||
|
||
std::string StringToUtf(std::string strValue)
|
||
{
|
||
int nwLen = MultiByteToWideChar(CP_UTF8, 0, strValue.c_str(), -1, NULL, 0);
|
||
wchar_t * pwBuf = new wchar_t[nwLen + 1];//加上末尾'\0'
|
||
memset(pwBuf, 0, nwLen * 2 + 2);
|
||
MultiByteToWideChar(CP_UTF8, 0, strValue.c_str(), strValue.length(), pwBuf, nwLen);
|
||
int nLen = WideCharToMultiByte(CP_ACP, 0, pwBuf, -1, NULL, NULL, NULL, NULL);
|
||
char * pBuf = new char[nLen + 1];
|
||
memset(pBuf, 0, nLen + 1);
|
||
WideCharToMultiByte(CP_ACP, 0, pwBuf, nwLen, pBuf, nLen, NULL, NULL);
|
||
std::string retStr = pBuf;
|
||
delete []pBuf;
|
||
delete []pwBuf;
|
||
return retStr;
|
||
}
|
||
|
||
DWORD MyMessageBox(TCHAR *p_str, TCHAR *p_str2, DWORD dw_id)
|
||
{
|
||
if ( p_str2 == NULL )
|
||
{
|
||
return MessageBox(g_hwnd_dlg, p_str, TEXT("test")/*g_p_cur_supper_sdti->sz_type_str*/, dw_id);
|
||
}
|
||
else
|
||
{
|
||
return MessageBox(g_hwnd_dlg, p_str, p_str2, dw_id);
|
||
}
|
||
}
|
||
/*
|
||
CTwainMutex g_sys_mutex;
|
||
BOOL g_not_user_sineng_dev = true;
|
||
BOOL g_InitSysMutexRun()
|
||
{
|
||
//return g_sys_mutex.InitRunMutexId(COMPANY_NAME PRODUCT_NAME);
|
||
return true;
|
||
//return g_sys_mutex.CreatTwainMutex(SCANNERNAME);
|
||
}
|
||
|
||
BOOL g_InitSysMutexScanRun(DWORD dwPid, DWORD dwUid)
|
||
{
|
||
//return g_sys_mutex.InitScanRunMutexId(COMPANY_NAME PRODUCT_NAME, dwPid, dwUid);
|
||
return true;
|
||
}
|
||
|
||
BOOL g_CloseSysMutexRun()
|
||
{
|
||
//return g_sys_mutex.CloseAllScnDocA3Mutex();
|
||
return g_sys_mutex.CloseTwainMutex();
|
||
}
|
||
|
||
BOOL g_CloseOneSysMutexRun()
|
||
{
|
||
//return g_sys_mutex.CloseScnDocA3Mutex((SCN_MUTEX_TYPE)smt);
|
||
return true;
|
||
//return g_sys_mutex.CloseTwainMutex();
|
||
}
|
||
|
||
BOOL g_CheckSysMutex()
|
||
{
|
||
//return g_sys_mutex.CheckScnDocA3Mutex((SCN_MUTEX_TYPE)smt);
|
||
return true;
|
||
return g_sys_mutex.CheckExistTwainMutex(SCANNERNAME);
|
||
}
|
||
|
||
BOOL g_CreateSysMutex()
|
||
{
|
||
//return g_sys_mutex.CreateScnDocA3Mutex((SCN_MUTEX_TYPE)smt);
|
||
//return true;
|
||
return g_sys_mutex.CreatTwainMutex(SCANNERNAME);
|
||
}
|
||
|
||
RGBQUAD g_default_map[256] = {0};
|
||
|
||
BOOL ReadDefaultMap()
|
||
{
|
||
int i = 0;
|
||
for ( i = 0; i < 256; i++ )
|
||
{
|
||
g_default_map[i].rgbBlue = g_default_map[i].rgbGreen = g_default_map[i].rgbRed = i;
|
||
}
|
||
|
||
TCHAR sz_path[MAX_PATH] = {0};
|
||
bool nRet = GetModuleFileName(AfxGetApp()->m_hInstance, sz_path, sizeof(sz_path));
|
||
if (nRet > 0)
|
||
{
|
||
TCHAR *p = _tcsrchr(sz_path, TEXT('\\'));
|
||
if ( p != NULL )
|
||
{
|
||
*(p+1) = TEXT('\0');
|
||
}
|
||
else
|
||
{
|
||
return TRUE;
|
||
}
|
||
}
|
||
_tcscat(sz_path, TEXT("default.map"));
|
||
HANDLE hfile = CreateFile(sz_path, GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_EXISTING, NULL, NULL);
|
||
if ( hfile != INVALID_HANDLE_VALUE )
|
||
{
|
||
DWORD dw_write = 0;
|
||
ReadFile(hfile, g_default_map, sizeof(g_default_map), &dw_write, NULL);
|
||
if ( dw_write != sizeof(g_default_map) )
|
||
{
|
||
nRet = false;
|
||
}
|
||
CloseHandle(hfile);
|
||
}
|
||
return nRet;
|
||
}
|
||
|
||
float GetContrast(int level)
|
||
{
|
||
float ret=0.0;
|
||
switch (level)
|
||
{
|
||
case -3:
|
||
ret=-1000.0;
|
||
break;
|
||
case -2:
|
||
ret=-666.0;
|
||
break;
|
||
case -1:
|
||
ret=-333.0;
|
||
break;
|
||
case 1:
|
||
ret=333.0;
|
||
break;
|
||
case 2:
|
||
ret=666.0;
|
||
break;
|
||
case 3:
|
||
ret=1000.0;
|
||
break;
|
||
}
|
||
return ret;
|
||
}
|
||
*/
|
||
VOID XdPrint(_TCHAR* format, ...)
|
||
{
|
||
va_list args;
|
||
va_start(args, format);
|
||
_TCHAR buf[256];
|
||
_vstprintf(buf, format, args);
|
||
OutputDebugString(buf);
|
||
va_end(args);
|
||
} |