[英]How to modify resolution (DPI) Range in TWAIN User Interface (DS)
我想在Twain掃描儀用戶界面中設置DPI范圍。 看看下面的截圖。 DPI下降從50開始到600.如何將此限制從400到600。
我嘗試了以下代碼,但它只設置了DPI,如果用戶從用戶界面更改,我的更改就會消失。
TwFix32 f32 = new TwFix32();
f32.FromFloat(400);//value of DPI
TwCapability capX = new TwCapability(TwCap.XResolution, f32.Whole);
rc = dScap(appid, srcds, TwDG.Control, TwDAT.Capability, TwMSG.Set, capX);
TwCapability capY= new TwCapability(TwCap.YResolution, f32T.Whole);
rc = dScap(appid, srcds, TwDG.Control, TwDAT.Capability, TwMSG.Set, capY);
每個TWAIN源都實現自己的用戶界面。 TWAIN規范沒有提供更改此用戶界面的方法; 你只能顯示它。
您可以做的最好的事情是編寫自己的UI並顯示該 UI ,而不是要求TWAIN顯示其UI。 然后,您可以詢問設備以確定它支持的分辨率,並過濾掉任何不符合您需求的選項。 您可以在圖像采集之前立即以編程方式設置DPI(正如您已經在做的那樣)。
要更改圖像分辨率
this._twain32.Capabilities.XResolution.Set((float)_item.Tag);
this._twain32.Capabilities.YResolution.Set((float)_item.Tag);
要選擇平板式掃描儀,
if (this._twain32.Capabilities.Duplex.IsSupported(TwQC.GetCurrent) && this._twain32.Capabilities.Duplex.GetCurrent() != TwDX.None)
{
if (this._twain32.Capabilities.FeederEnabled.IsSupported(TwQC.Set))
{
this._twain32.Capabilities.FeederEnabled.Set(false);
if (this._twain32.Capabilities.DuplexEnabled.IsSupported(TwQC.Set))
{
this._twain32.Capabilities.DuplexEnabled.Set(false);
}
this._twain32.Capabilities.XferCount.Set(1);
}
}
要選擇ADF型掃描儀,
if (this._twain32.Capabilities.Duplex.IsSupported(TwQC.GetCurrent) && this._twain32.Capabilities.Duplex.GetCurrent() != TwDX.None)
{
if (this._twain32.Capabilities.FeederEnabled.IsSupported(TwQC.Set))
{
this._twain32.Capabilities.FeederEnabled.Set(true);
if (this._twain32.Capabilities.DuplexEnabled.IsSupported(TwQC.Set))
{
this._twain32.Capabilities.DuplexEnabled.Set(true);
}
this._twain32.Capabilities.XferCount.Set(-1);
}
}
上面的代碼使用Saraff.Twain(免費)dll作為參考。
我知道它的舊問題,但這可以幫助TWAIN新手。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.