Как получить текущую настройку DPI сканера через TWAIN? - PullRequest
0 голосов
/ 17 января 2019

Я очень новичок в Qt, и сейчас мы разрабатываем приложение, которое использует библиотеку TWAIN для управления сканером.

По умолчанию мы предполагали, что настройка DPI сканера установлена ​​на 300. Однако, если случайно пользователь вручную установит DPI сканера на 600 в настройках устройства, наше приложение должно соответственно отрегулировать.

Есть ли способ узнать настройку DPI для сканера изнутри через TWAIN? Как знать, какая настройка DPI в данный момент выбрана.

1 Ответ

0 голосов
/ 21 января 2019

Хорошо. Я понял. Оказывается, что pTW_ENUMERATION имеет атрибут с именем CurrentIndex, в котором хранится индекс выбранного DPI. Итак, из кода Как перечислить разрешения, поддерживаемые через TWAIN

TW_CAPABILITY twCap;
GetCapability(twCap, ICAP_XRESOLUTION);

TW_UINT32 res = 0;

if (twCap.ConType == TWON_ENUMERATION) {
   pTW_ENUMERATION en = (pTW_ENUMERATION) GlobalLock(twCap.hContainer);

   if (en->ItemType == TWTY_FIX32)  {
      res = ((TW_UINT32*)(en->ItemList))[en->CurrentIndex];

     qDebug()<<res;
   }

}
...