【问题标题】:How to get current DPI setting of the scanner through TWAIN?如何通过 TWAIN 获取扫描仪当前的 DPI 设置?
【发布时间】:2019-06-11 08:59:18
【问题描述】:

我是 Qt 的新手,现在我们正在开发一个使用 TWAIN 库来控制扫描仪的应用程序。

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

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

【问题讨论】:

  • 链接的问题有代码,答案有bug修复:stackoverflow.com/questions/7727754/…
  • 我相信链接中的代码列出了扫描仪支持的可能 DPI 设置,但不一定提供有关当前选择的设置的信息。

标签: c++ qt twain


【解决方案1】:

好的。我想到了。事实证明,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;
   }

}

【讨论】:

    猜你喜欢
    • 2015-05-02
    • 2010-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-09
    • 2012-12-14
    • 1970-01-01
    相关资源
    最近更新 更多