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

Posted

技术标签:

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

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

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

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

【问题讨论】:

链接的问题有代码,答案有bug修复:***.com/questions/7727754/… 我相信链接中的代码列出了扫描仪支持的可能 DPI 设置,但不一定提供有关当前选择的设置的信息。 【参考方案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;
   


【讨论】:

以上是关于如何通过 TWAIN 获取扫描仪当前的 DPI 设置?的主要内容,如果未能解决你的问题,请参考以下文章

使用 WIA 或 TWAIN 扫描页面

如何在灰度图像中设置 DPI 信息?

在 .NET 中使用 TWAIN - 寻找资源 [关闭]

twain 扫描仪未从扫描仪获取图像

用于从 Twain 源(扫描仪)获取图像的 php 脚本 [关闭]

Node.js+Web TWAIN,实现Web文档扫描和图像上传