Мой проект должен реализовать функцию AutoDiscardBlankPage для сканера Fujitsu fi-6670 с языком C ++, поэтому он работает правильно, но ссылается на значение чувствительности в программе ScanAllPro
Даже если ScanAllPro установит чувствительность = 0, моя функция (AutoDiscardBlankPage) не пропускает пустую страницу.
Мне нужно знать, как использовать библиотеку Twain для установки чувствительности функции AutoDiscardBlankPage с C ++?
Спасибо за все предложения ^^ «(извините за мой английский)
это мой код
BOOL CMyTwainDlg::TWAIN_UTIL_SetAutoDiscardBlankPages(BOOL bEnabled,int check)
{
TW_CAPABILITY twDPI;
pTW_ONEVALUE ptwOneVal;
BOOL ret = FALSE;
if(DSOpen() || OpenSource())
{
twDPI.Cap = ICAP_AUTODISCARDBLANKPAGES;
twDPI.ConType = TWON_ONEVALUE;
if(check == 1){
twDPI.hContainer = GlobalAlloc(GHND, sizeof(TW_ONEVALUE));
ptwOneVal = (pTW_ONEVALUE) GlobalLock(twDPI.hContainer);
ptwOneVal->ItemType = TWTY_INT32;
ptwOneVal->Item = (TW_UINT32)TWBP_AUTO;
ret = CallTwainProc(&m_AppId, &m_Source, DG_CONTROL, DAT_CAPABILITY, MSG_GET,
(TW_MEMREF)&twDPI);
GlobalUnlock(twDPI.hContainer);
GlobalFree(twDPI.hContainer);
}else {
twDPI.hContainer = GlobalAlloc(GHND, sizeof(TW_ONEVALUE));
ptwOneVal = (pTW_ONEVALUE) GlobalLock(twDPI.hContainer);
ptwOneVal->ItemType = TWTY_INT32;
ptwOneVal->Item = (TW_UINT32)TWBP_DISABLE;
ret = CallTwainProc(&m_AppId, &m_Source, DG_CONTROL, DAT_CAPABILITY, MSG_RESET,
(TW_MEMREF)&twDPI);
GlobalUnlock(twDPI.hContainer);
GlobalFree(twDPI.hContainer);
}
}
return ret;
}
Вы можете попробовать использовать ICAP_THRESHOLD указать разделительную линию между черным и белым.
Вы также можете прочитать эта статья кб на настройку параметров для обнаружения пустых изображений и посмотреть, поможет ли это. Два свойства, упомянутые в статье, относятся к Dynamic Web TWAIN, который является оболочкой C ++ для TWAIN. Вы можете использовать соответствующие возможности TWAIN для настройки параметров обнаружения пустой страницы.