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