mirror of http://192.168.1.51:8099/lmh188/twain3
176 lines
5.7 KiB
C++
176 lines
5.7 KiB
C++
#include "PaperSize.h"
|
||
|
||
using namespace std;
|
||
|
||
namespace Device {
|
||
|
||
PaperSize::PaperSize()
|
||
{
|
||
InitPaperMap();
|
||
}
|
||
|
||
|
||
PaperSize::~PaperSize()
|
||
{
|
||
}
|
||
|
||
void PaperSize::InitPaperMap()
|
||
{
|
||
//!< ×ÔĘĘÓŚ
|
||
dpiDct[{None, 50.0f}] = { 594, 898 };
|
||
dpiDct[{None, 75.0f}] = { 892, 1347 };
|
||
dpiDct[{None, 100.0f}] = { 1189, 1795 };
|
||
dpiDct[{None, 150.0f}] = {1784, 2693};
|
||
dpiDct[{None, 200.0f}] = {2338, 3307};
|
||
dpiDct[{None, 240.0f}] = {2854, 4308};
|
||
dpiDct[{None, 300.0f}] = {3567, 5385};
|
||
dpiDct[{None, 400.0f}] = {4756, 7180};
|
||
dpiDct[{None, 600.0f}] = {7134, 10770};
|
||
|
||
//A3
|
||
dpiDct[{A3, 50.0f}] = {585, 827};
|
||
dpiDct[{A3, 75.0f}] = {877, 1240};
|
||
dpiDct[{A3, 100.0f}] = {1169, 1653};
|
||
dpiDct[{A3, 150.0f}] = {1753, 2480};
|
||
dpiDct[{A3, 200.0f}] = {2338, 3307};
|
||
dpiDct[{A3, 240.0f}] = {2806, 3968};
|
||
dpiDct[{A3, 300.0f}] = {3507, 4960};
|
||
dpiDct[{A3, 400.0f}] = {4677, 6614};
|
||
dpiDct[{A3, 600.0f}] = {7015, 9921};
|
||
//add lyc 2019 12 18
|
||
//A4
|
||
dpiDct[{A4, 50.0f}] = {413, 585};
|
||
dpiDct[{A4, 75.0f}] = {620, 877};
|
||
dpiDct[{A4, 100.0f}] = {826, 1169};
|
||
dpiDct[{A4, 150.0f}] = {1240, 1753};
|
||
dpiDct[{A4, 200.0f}] = {1653, 2338};
|
||
dpiDct[{A4, 240.0f}] = {1984, 2806};
|
||
dpiDct[{A4, 300.0f}] = {2480, 3507};
|
||
dpiDct[{A4, 400.0f}] = {3307, 4677};
|
||
dpiDct[{A4, 600.0f}] = {4960, 7015};
|
||
//add lyc 2019 12 18 A5
|
||
dpiDct[{A5, 50.0f}] = {291, 413};
|
||
dpiDct[{A5, 75.0f}] = {437, 620};
|
||
dpiDct[{A5, 100.0f}] = {582, 826};
|
||
dpiDct[{A5, 150.0f}] = {874, 1240};
|
||
dpiDct[{A5, 200.0f}] = {1165, 1653};
|
||
dpiDct[{A5, 240.0f}] = {1398, 1984};
|
||
dpiDct[{A5, 300.0f}] = {1748, 2480};
|
||
dpiDct[{A5, 400.0f}] = {2330, 3307};
|
||
dpiDct[{A5, 600.0f}] = {3496, 4960};
|
||
|
||
//add lyc 2019 12 18 A6
|
||
dpiDct[{A6, 50.0f}] = {207, 291};
|
||
dpiDct[{A6, 75.0f}] = {310, 437};
|
||
dpiDct[{A6, 100.0f}] = {413, 582};
|
||
dpiDct[{A6, 150.0f}] = {620, 874};
|
||
dpiDct[{A6, 200.0f}] = {826, 1165};
|
||
dpiDct[{A6, 240.0f}] = {992, 1398};
|
||
dpiDct[{A6, 300.0f}] = {1240, 1748};
|
||
dpiDct[{A6, 400.0f}] = {1653, 2330};
|
||
dpiDct[{A6, 600.0f}] = {2480, 3496};
|
||
|
||
//1.5ąśA3
|
||
dpiDct[{USStatement, 50.0f}] = {585, (LONG)(827*1.5)};
|
||
dpiDct[{USStatement, 75.0f}] = {877, (LONG)(1240*1.5)};
|
||
dpiDct[{USStatement, 100.0f}] = {1169, (LONG)(1653*1.5)};
|
||
dpiDct[{USStatement, 150.0f}] = {1753, (LONG)(2480*1.5)};
|
||
dpiDct[{USStatement, 200.0f}] = {2338, (LONG)(3307*1.5)};
|
||
dpiDct[{USStatement, 240.0f}] = {2806, (LONG)(3968*1.5)};
|
||
dpiDct[{USStatement, 300.0f}] = {3507, (LONG)(4960*1.5)};
|
||
dpiDct[{USStatement, 400.0f}] = {4677, (LONG)(6614*1.5)};
|
||
dpiDct[{USStatement, 600.0f}] = {7015, (LONG)(9921*1.5)};
|
||
|
||
//add lyc 2019 12 18 ł¤Îĸ壏2ąśA3
|
||
dpiDct[{MaxSize, 50.0f}] = {585, 1653};
|
||
dpiDct[{MaxSize, 75.0f}] = {877, 2480};
|
||
dpiDct[{MaxSize, 100.0f}] = {1169, 1653 * 2};
|
||
dpiDct[{MaxSize, 150.0f}] = {1753, 2480 * 2};
|
||
dpiDct[{MaxSize, 200.0f}] = {2338, 3307 * 2};
|
||
dpiDct[{MaxSize, 240.0f}] = {2806, 3968 * 2};
|
||
dpiDct[{MaxSize, 300.0f}] = {3507, 4960 * 2};
|
||
dpiDct[{MaxSize, 400.0f}] = {4677, 6614 * 2};
|
||
dpiDct[{MaxSize, 600.0f}] = {7015, 9921 * 2};
|
||
//add lyc 2019 12 18 B4
|
||
dpiDct[{B4, 50.0f}] = {506, 717};
|
||
dpiDct[{B4, 75.0f}] = {759, 1075};
|
||
dpiDct[{B4, 100.0f}] = {1011, 1433};
|
||
dpiDct[{B4, 150.0f}] = {1517, 2149};
|
||
dpiDct[{B4, 200.0f}] = {2023, 2866};
|
||
dpiDct[{B4, 240.0f}] = {2428, 3439};
|
||
dpiDct[{B4, 300.0f}] = {3035, 4299};
|
||
dpiDct[{B4, 400.0f}] = {4047, 5732};
|
||
dpiDct[{B4, 600.0f}] = {6070, 8598};
|
||
//add lyc 2019 12 18 B5
|
||
dpiDct[{B5, 50.0f}] = {358, 506};
|
||
dpiDct[{B5, 75.0f}] = {537, 759};
|
||
dpiDct[{B5, 100.0f}] = {716, 1011};
|
||
dpiDct[{B5, 150.0f}] = {1074, 1517};
|
||
dpiDct[{B5, 200.0f}] = {1433, 2023};
|
||
dpiDct[{B5, 240.0f}] = {1719, 2428};
|
||
dpiDct[{B5, 300.0f}] = {2149, 3035};
|
||
dpiDct[{B5, 400.0f}] = {2866, 4047};
|
||
dpiDct[{B5, 600.0f}] = {4299, 6070};
|
||
//add lyc 2019 12 18 B6
|
||
dpiDct[{B6, 50.0f}] = {252, 358};
|
||
dpiDct[{B6, 75.0f}] = {378, 537};
|
||
dpiDct[{B6, 100.0f}] = {503, 716};
|
||
dpiDct[{B6, 150.0f}] = {755, 1074};
|
||
dpiDct[{B6, 200.0f}] = {1007, 1433};
|
||
dpiDct[{B6, 240.0f}] = {1209, 1719};
|
||
dpiDct[{B6, 300.0f}] = {1511, 2149};
|
||
dpiDct[{B6, 400.0f}] = {2015, 2866};
|
||
dpiDct[{B6, 600.0f}] = {3023, 4299};
|
||
|
||
//add lyc 2019 12 18 DOUBLE LETTER
|
||
dpiDct[{USLedger, 50.0f}] = {550, 850};
|
||
dpiDct[{USLedger, 75.0f}] = {825, 1275};
|
||
dpiDct[{USLedger, 100.0f}] = {1100, 1700};
|
||
dpiDct[{USLedger, 150.0f}] = {1650, 2550};
|
||
dpiDct[{USLedger, 200.0f}] = {2200, 3400};
|
||
dpiDct[{USLedger, 240.0f}] = {2640, 4080};
|
||
dpiDct[{USLedger, 300.0f}] = {3300, 5100};
|
||
dpiDct[{USLedger, 400.0f}] = {4400, 6800};
|
||
dpiDct[{USLedger, 600.0f}] = {6600, 10200};
|
||
//add lyc 2019 12 18 LETTER
|
||
dpiDct[{USLetter, 50.0f}] = {425, 550};
|
||
dpiDct[{USLetter, 75.0f}] = {638, 825};
|
||
dpiDct[{USLetter, 100.0f}] = {850, 1100};
|
||
dpiDct[{USLetter, 150.0f}] = {1275, 1650};
|
||
dpiDct[{USLetter, 200.0f}] = {1700, 2200};
|
||
dpiDct[{USLetter, 240.0f}] = {2040, 2640};
|
||
dpiDct[{USLetter, 300.0f}] = {2550, 3300};
|
||
dpiDct[{USLetter, 400.0f}] = {3400, 4400};
|
||
dpiDct[{USLetter, 600.0f}] = {5100, 6600};
|
||
|
||
//add lyc 2019 12 18 LETTER
|
||
dpiDct[{USLegal, 50.0f}] = {425, 700};
|
||
dpiDct[{USLegal, 75.0f}] = {638, 1050};
|
||
dpiDct[{USLegal, 100.0f}] = {850, 1400};
|
||
dpiDct[{USLegal, 150.0f}] = {1275, 2100};
|
||
dpiDct[{USLegal, 200.0f}] = {1700, 2800};
|
||
dpiDct[{USLegal, 240.0f}] = {2040, 3360};
|
||
dpiDct[{USLegal, 300.0f}] = {2550, 4200};
|
||
dpiDct[{USLegal, 400.0f}] = {3400, 5600};
|
||
dpiDct[{USLegal, 600.0f}] = {5100, 8400};
|
||
}
|
||
|
||
SIZE PaperSize::GetPaperSize(DWORD paperType, float dpi,int orentation)
|
||
{
|
||
auto iter = dpiDct.find({(TwSS)paperType, dpi});
|
||
if (iter != dpiDct.end()) {
|
||
if (orentation == 0)//˛ťĐčŇŞĐýת
|
||
return iter->second;
|
||
else if(orentation == 3)//ĐýתžĹĘŽśČ
|
||
{
|
||
SIZE size;
|
||
size.cx = iter->second.cy;
|
||
size.cy = iter->second.cx;
|
||
return size;
|
||
}
|
||
}
|
||
return {2338,3307 };
|
||
}
|
||
|
||
}
|