gpt4 book ai didi

c# - 不支持 NTwain ICapSupportedSizes

转载 作者:行者123 更新时间:2023-12-05 07:29:55 28 4
gpt4 key购买 nike

我正在使用 NTwain 将文档扫描到内存中,除了一个部分外,我的所有功能都可以正常工作:当尝试设置要扫描的页面大小时,它会扫描整个宽度和高度,而不仅仅是指定的大小.

我检查了当前源的 NTwain 功能的详细信息,发现 ICapSupportedSizes 不支持任何操作。 enter image description here

这是我设置功能的方式(这是在一个开放的、有效的来源上)

_twain.CurrentSource.Capabilities.ICapXResolution.SetValue(new TWFix32() { Whole = 600 });
_twain.CurrentSource.Capabilities.ICapYResolution.SetValue(new TWFix32() { Whole = 600 });
_twain.CurrentSource.Capabilities.ICapPixelType.SetValue(PixelType.BlackWhite);
_twain.CurrentSource.Capabilities.ICapSupportedSizes.SetValue(SupportedSize.USLegal);
_twain.CurrentSource.Capabilities.CapDuplexEnabled.SetValue(BoolType.False);

更新:

我发现所有设置都不起作用。我设置成黑白的,即使在设置里显示黑白,显示的还是彩色的。我将其设置为什么 DPI 无关紧要,因为无论如何它都默认为 300。我已经更新它以获取源代码并使用它来更改设置并调用 Enable,但它仍然不起作用。

感谢任何帮助。

谢谢!

环境信息

  • .NET Framework 4.6.1
  • 赢得表格
  • C#
  • NTwain
  • 扫描仪:佳能平板扫描仪 102 单元

最佳答案

您将需要使用 DGImage.ImageLayout 属性以普遍支持的方式设置页面大小。

例如:

var ds = _twain.CurrentSource;
ds.Capabilities.ICapUnits.SetValue(Unit.Inches);
ds.DGImage.ImageLayout.Get(out TWImageLayout imageLayout);
imageLayout.Frame = new TWFrame
{
Left = 0,
Right = pageWidthInInches,
Top = 0,
Bottom = pageHeightInInches
};
ds.DGImage.ImageLayout.Set(imageLayout);

关于c# - 不支持 NTwain ICapSupportedSizes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52521593/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com