1.针对G100 G200系列机器长文稿自动裁切功能纸张定义,以及关联协议之间的互斥性调整;

2.开放TWAINUI背面旋转180°功能
This commit is contained in:
lovelyyoung 2020-11-12 19:42:16 +08:00
parent 1f3e117915
commit 287843624e
10 changed files with 56 additions and 31 deletions

View File

@ -46,7 +46,7 @@ static std::vector<CString> surportStyles = {
_T("A4"),
_T("A5"),
_T("A6"),
_T("B4"),
//_T("B4"),
_T("B5"),
_T("B6"),
_T("Letter"),

View File

@ -15,7 +15,6 @@ std::vector<int> g400hiden =
IDC_LBSDL,
IDC_SLDDETECTLEVEL,
IDC_LBSDR,
IDC_CKBACKROTATION
};
// CFeedPaperPage 对话框

View File

@ -51,12 +51,12 @@ static std::map<int, PaperStatus> paperStatusMap = {
{0,{TwSS::A4,PaperAlign::Rot0}},
{1,{TwSS::A5,PaperAlign::Rot0}},
{2,{TwSS::A6,PaperAlign::Rot0}},
{3,{TwSS::B4,PaperAlign::Rot0}},
{4,{TwSS::B5,PaperAlign::Rot0}},
{5,{TwSS::B6,PaperAlign::Rot0}},
{6,{TwSS::USLetter,PaperAlign::Rot0}},
{7,{TwSS::USLegal,PaperAlign::Rot0}},
{8,{TwSS::None,PaperAlign::Rot0}},
//{3,{TwSS::B4,PaperAlign::Rot0}},
{3,{TwSS::B5,PaperAlign::Rot0}},
{4,{TwSS::B6,PaperAlign::Rot0}},
{5,{TwSS::USLetter,PaperAlign::Rot0}},
{6,{TwSS::USLegal,PaperAlign::Rot0}},
{7,{TwSS::None,PaperAlign::Rot0}},
};
#endif

View File

@ -23,7 +23,8 @@ CImageApplyAdjustColors::~CImageApplyAdjustColors(void)
void CImageApplyAdjustColors::apply(cv::Mat& pDib,int side)
{
#ifdef LOG
FileTools::write_log("imgprc.txt", "enter CImageApplyAdjustColors apply");
FileTools::
"imgprc.txt", "enter CImageApplyAdjustColors apply");
#endif // LOG
if (pDib.empty())
{

View File

@ -86,7 +86,8 @@ void CImageApplyBWBinaray::apply(cv::Mat& pDib, int side)
}
#ifdef LOG
FileTools::write_log("imgprc.txt", "exit CImageApplyBWBinaray apply");
FileTools::
"imgprc.txt", "exit CImageApplyBWBinaray apply");
#endif // LOG
}

View File

@ -21,7 +21,8 @@ CImageApplyChannel::~CImageApplyChannel(void)
void CImageApplyChannel::apply(cv::Mat& pDib,int side)
{
#ifdef LOG
FileTools::write_log("imgprc.txt", "enter CImageApplyChannel apply");
FileTools::
"imgprc.txt", "enter CImageApplyChannel apply");
#endif // LOG
if (pDib.empty())

View File

@ -119,7 +119,8 @@ cv::Mat CImageApplyDiscardBlank::getRoiMat(const cv::Mat& image)
void CImageApplyDiscardBlank::apply(cv::Mat& pDib, int side)
{
#ifdef LOG
FileTools::write_log("imgprc.txt", "enter CImageApplyDiscardBlank apply");
FileTools::
"imgprc.txt", "enter CImageApplyDiscardBlank apply");
#endif // LOG
if (pDib.empty())

View File

@ -811,9 +811,10 @@ Result HuagaoDs::identityOpenDs(const Identity&) {
data = Capability::createEnumeration(data.type(), { PaperSize::A3,PaperSize::A4,PaperSize::A5,
PaperSize::A6,PaperSize::IsoB4,PaperSize::IsoB5,
PaperSize::IsoB6,PaperSize::UsLetter,PaperSize::UsLegal,
PaperSize::UsLedger,PaperSize::MaxSize,PaperSize::None },
PaperSize::UsLedger,PaperSize::MaxSize,PaperSize::None,PaperSize::UsStatement},
index == -1 ? 0 : index,
0);
return success();
}
case Msg::GetCurrent:
@ -837,11 +838,21 @@ Result HuagaoDs::identityOpenDs(const Identity&) {
}
if (contains) {
m_scanparam->papertype = (byte)paper;
if (paper == (byte)PaperSize::None)
if (paper == (byte)PaperSize::None|| paper == (byte)PaperSize::UsStatement)
m_scanparam->paperAlign = PaperAlign::Rot0;
m_autosize = paper == (byte)PaperSize::None? (UInt16)AutoSize::Auto:(UInt16)AutoSize::None;
if(paper== (byte)PaperSize::UsStatement)
{
m_autosize = (UInt16)AutoSize::None;
m_autoboarderdetcet = false;
m_scanparam->is_autocrop = 0;
}
else
{
m_autosize = (paper == (byte)PaperSize::None) ? (UInt16)AutoSize::Auto : (UInt16)AutoSize::None;
m_autoboarderdetcet = paper == (byte)PaperSize::None;
m_scanparam->is_autocrop = paper == (byte)PaperSize::None?1:0;
m_scanparam->is_autocrop = paper == (byte)PaperSize::None ? 1 : 0;
}
return success();
}
return badValue();
@ -1193,8 +1204,9 @@ Result HuagaoDs::identityOpenDs(const Identity&) {
m_caps[CapType::IAutomaticDeskew] = [this](Msg msg, Capability& data)->Result {
switch (msg) {
case Msg::Get:
data = Capability::createEnumeration<CapType::IAutomaticDeskew>(
{ Bool(), Bool(true) }, Bool(m_scanparam->autodescrew == 0 ? false : true));
//data = Capability::createEnumeration<CapType::IAutomaticDeskew>(
// { Bool(), Bool(true) }, Bool(m_scanparam->autodescrew == 0 ? false : true));
data = Capability::createOneValue<CapType::IAutomaticDeskew>(m_scanparam->autodescrew);
return success();
case Msg::Reset:
m_scanparam->autodescrew = true;
@ -1343,12 +1355,20 @@ Result HuagaoDs::identityOpenDs(const Identity&) {
case Msg::Set: {
auto autosize = data.currentItem<CapType::IAutoSize>();
if (autosize == AutoSize::Auto)
{
if(m_scanparam->papertype==(byte)PaperSize::UsStatement)
{
m_scanparam->is_autocrop = 0;
m_autoboarderdetcet = false;
}
else
{
m_scanparam->is_autocrop = 1;
m_scanparam->papertype = (byte)Twpp::PaperSize::None;
m_scanparam->paperAlign = PaperAlign::Rot0;
m_autoboarderdetcet = true;
}
}
else
{
m_autoboarderdetcet = false;
@ -1381,12 +1401,15 @@ Result HuagaoDs::identityOpenDs(const Identity&) {
case Msg::Set: {
auto autodetectborder = data.currentItem<CapType::IAutomaticBorderDetection>();
if (autodetectborder)
{
if(m_scanparam->papertype!=(byte)PaperSize::UsStatement)
{
m_scanparam->is_autocrop = true;
m_scanparam->papertype = (byte)Twpp::PaperSize::None;
m_scanparam->paperAlign = PaperAlign::Rot0;
m_autosize = (UInt16)AutoSize::Auto;
}
}
else
{
m_autosize = (UInt16)AutoSize::None;
@ -2449,7 +2472,6 @@ void HuagaoDs::onDeviceEvent(int eventID)
{
//if (mapDeviceEvent.count(eventID))
//{
// //devEvent.push(DeviceEvent::)
// DeviceEvent::Type dev_type = mapDeviceEvent[eventID];
// auto evt = DeviceEvent::simple((DeviceEvent::Type)dev_type, "HuaGo Device Event");
// devEvent.push(evt);
@ -2497,7 +2519,7 @@ void HuagaoDs::updataGscanCap()
Twpp::Result HuagaoDs::startScan()
{
xtfer = 0;
FileTools::write_log("D:\\1.txt", "RESET TWAIN TRANSFERED IMAGE COUNT");
//FileTools::write_log("D:\\1.txt", "RESET TWAIN TRANSFERED IMAGE COUNT");
if (!scanner->IsConnected())
{
scanner->open(0x064B, 0x7823);

Binary file not shown.