twain3.0/huagao/Device/PaperSize.cpp

175 lines
6.2 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include "stdafx.h"
#include "PaperSize.h"
using namespace std;
namespace Device {
PaperSize::PaperSize()
{
InitPaperMap();
}
PaperSize::~PaperSize()
{
}
void PaperSize::InitPaperMap()
{
//!< ×ÔÊÊÓ¦
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 ³¤Îĸ壬2±¶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)//²»ÐèÒªÐýת
return iter->second;
else if(orentation == 3)//Ðýת¾ÅÊ®¶È
{
CSize size;
size.cx = iter->second.cy;
size.cy = iter->second.cx;
return size;
}
}
return CSize(2338, 3307);
}
}