我对Qt还是很陌生,现在我们正在开发一个使用TWAIN库控制扫描仪的应用程序。
默认情况下,我们假定扫描仪的DPI设置为300。 但是,如果偶然,用户在设备设置中手动将扫描仪的DPI设置为600,我们的应用程序必须进行相应的调整。
是否可以通过TWAIN内部了解扫描仪的DPI设置?知道知道当前选择了什么DPI设置。
答案 0 :(得分:0)
好的。我想到了。事实证明,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;
}
}