如何通过 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 设置?的主要内容,如果未能解决你的问题,请参考以下文章