如何通过 TWAIN 获取扫描仪当前的 DPI 设置?

How to get current DPI setting of the scanner through TWAIN?

我对 Qt 还很陌生,现在我们正在开发一个使用 TWAIN 库来控制扫描仪的应用程序。

默认情况下,我们假设扫描仪的 DPI 设置为 300。 但是,如果偶然,用户在设备设置中手动将扫描仪的 DPI 设置为 600,我们的应用程序必须相应地进行调整。

有什么方法可以通过TWAIN内部知道扫描仪的DPI设置吗?比如知道当前选择的 DPI 设置。

好的。我想到了。原来 pTW_ENUMERATION 有一个名为 CurrentIndex 的属性,它存储所选 DPI 的索引。所以从 How do I enumerate resolutions supported via 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;
   }

}