twain3.0/huagao/Device/G400ScanConfig.cpp

75 lines
2.4 KiB
C++

#include "G400ScanConfig.h"
G400ScanConfig::G400ScanConfig(GScanCap& gcap)
{
cfg = { 0 };
cfg.params.doubleFeeded = gcap.hardwarecaps.en_doublefeed == 0 ? 0 : 1;
cfg.params.dpi = G400_DPI::G400_D200;//gcap.resolution_dst <= 200.0f ? G400_DPI::G400_D200 : (gcap.resolution_dst <= 300.0f ? G400_DPI::G400_D300 : G400_DPI::G400_D600);
cfg.params.enableLed = 1;
if (gcap.filter != 3 || gcap.enhance_color||gcap.hsvFilter!=0||gcap.hsvcorrect!=0||gcap.fadeback!=0)
cfg.params.isColor = 1;
else
cfg.params.isColor = SupPixelTypes[gcap.pixtype];
//cfg.params.isColor = 1;
#ifdef UV
cfg.params.enableUV = gcap.hardwarecaps.en_uv;//gcap.hardwarecaps.en_stapledetect==0?0:1;
#else
cfg.params.enableUV = 0;
#endif
cfg.params.isCorrect = 1;//1 机器校正
PaperStatus ps = { gcap.papertype,gcap.paperAlign };
cfg.params.pageSize = SupPaperTyps[ps];
CSize size;
#ifdef G300
size = PaperSize.GetPaperSize(TwSS::A4, 200.0f, gcap.paperAlign);//G300 最大支持A4幅面
#else
size = PaperSize.GetPaperSize(gcap.papertype, 200.0f, gcap.paperAlign);
#endif// G300
cfg.params.dstHeight = (int)((size.cy+200)/100);
cfg.params.sizedetect = gcap.en_sizecheck;
cfg.params.reversed1 = cfg.params.reversed2 = cfg.params.lutmode = 0;
}
G400ScanConfig::~G400ScanConfig()
{
}
unsigned int G400ScanConfig::GetData()
{
return cfg.value;
}
G400AndroidScanConfig::G400AndroidScanConfig(GScanCap& gcap)
{
cfg = { 0 };
cfg.params.doubleFeeded = gcap.hardwarecaps.en_doublefeed == 0 ? 0 : 1;
cfg.params.dpi = G400_DPI::G400_D200;//gcap.resolution_dst <= 200.0f ? G400_DPI::G400_D200 : (gcap.resolution_dst <= 300.0f ? G400_DPI::G400_D300 : G400_DPI::G400_D600);
cfg.params.enableLed = 1;
if (gcap.filter != 3 || gcap.enhance_color ||gcap.fadeback!=0|| gcap.hsvFilter != 0)
cfg.params.isColor = 1;
else
cfg.params.isColor = SupPixelTypes[gcap.pixtype];
//cfg.params.isColor = 1;
cfg.params.isCorrect = 1;//1 机器校正
PaperStatus ps = { gcap.papertype,gcap.paperAlign };
cfg.params.pageSize = SupPaperTyps[ps];
CSize size;
#ifdef G300
size = PaperSize.GetPaperSize(TwSS::A4, 200.0f, gcap.paperAlign);//G300 最大支持A4幅面
#else
size = PaperSize.GetPaperSize(gcap.papertype, 200.0f, gcap.paperAlign);
#endif// G300
cfg.params.dstHeight = (int)((size.cy + 200) / 100);
cfg.params.reversed1 = cfg.params.reversed2 = cfg.params.reversed3 = 0;
}
G400AndroidScanConfig::~G400AndroidScanConfig()
{
}
unsigned int G400AndroidScanConfig::GetData()
{
return cfg.value;
}