WIA 2.0 HP ScanJet 7650 特定问题

Posted

技术标签:

【中文标题】WIA 2.0 HP ScanJet 7650 特定问题【英文标题】:WIA 2.0 HP ScanJet 7650 specific problems 【发布时间】:2011-04-13 13:56:13 【问题描述】:

我在 Windows 7 上遇到 WIA 2.0 问题。在带有 wia 2.0 的 Windows XP 上(Windows 7 版本一切正常)

一台设备,HP ScanJet 7650 拒绝将其扫描分辨率设置为 100 以上。当我尝试设置 WIA 属性时

6147 _ Horizontal Resolution
6148 _ Vertical Resolution

任何超过 100 的我得到:

类型的第一次机会异常 发生“System.ArgumentException”

价值确实 不在预期范围内。

之后,属性值为 850 (?),扫描仪忽略它并以 100 dpi 扫描

在同一台 WIA 2.0 和 Lexmark X340 MFP 上,我可以毫无问题地设置扫描分辨率。

在 WIA 1.0 上使用相同的扫描仪 (HP ScanJet 7650) 我没有遇到任何问题。此外,使用 Windows 扫描小程序(来自设备和打印机)从该扫描仪扫描它可以扫描 DPI 远高于 100。所以,我一定做错了什么。

以下是适用于 HP ScanJet 7650 的 WIA 2.0 上可用属性的完整列表:

4098 _ Item Name
4099 _ Full Item Name
4101 _ Item Flags
4120 _ Color Profile Name
6154 _ Brightness
6155 _ Contrast
71692 _ Private Highlight Level
71694 _ Private Midtone Level
71693 _ Private Shadow Level
71695 _ Private Gamma
71699 _ Private Saturation
71696 _ Private Hue X
71697 _ Private Hue Y
71698 _ Private Sharpen Level
6159 _ Threshold
6147 _ Horizontal Resolution
6148 _ Vertical Resolution
71687 _ Private Default Resolution
71688 _ Private Quality Resolution
6149 _ Horizontal Start Position
6150 _ Vertical Start Position
6151 _ Horizontal Extent
6152 _ Vertical Extent
4112 _ Pixels Per Line
4113 _ Bytes Per Line
4114 _ Number of Lines
4116 _ Item Size
4118 _ Minimum Buffer Size
6146 _ Current Intent
4103 _ Data Type
4104 _ Bits Per Pixel
4110 _ Bits Per Channel
4109 _ Channels Per Pixel
4111 _ Planar
4107 _ Compression
4108 _ Media Type
4106 _ Format
4105 _ Preferred Format
4123 _ Filename extension
4102 _ Access Rights
6153 _ Photometric Interpretation
71686 _ Private Source Depth
71683 _ Private Preview
71689 _ Private Exposure Method
71722 _ Private Smoothing
71723 _ Private Color Enhanced
71685 _ Private TMA Method
71701 _ Private Defaults
71702 _ 71702
71703 _ 71703
71704 _ 71704
71711 _ 71711
71712 _ 71712
71705 _ 71705
71706 _ 71706
71707 _ 71707
71708 _ 71708
71709 _ 71709
71710 _ 71710
71721 _ 71721
71713 _ 71713
71714 _ 71714
71715 _ 71715
71716 _ 71716
71717 _ 71717
71718 _ 71718
71719 _ 71719
71720 _ Private Property

【问题讨论】:

这看起来不像是一个编程问题。也许可以尝试在 SuperUser 处询问。 @tilleryj - 是的,程序员从不枚举属性、设置它们的值并获取异常。你怎么了??? 我只是想帮你找到答案。上面看起来你正在尝试让扫描仪工作,我认为这在 SU 上有更好的机会。 你这个坏孩子,你真的没有在这里表明你是一个编码器,你使用 .net 来获得这个例外。即使你的标签是错误的。啧啧啧 你能 DUMP 所有属性并将它们粘贴到问题文本中吗 - 我想我可能会在这里做一些事情...... 【参考方案1】:

你看过this question吗?

尝试设置 WiaImageBias.MaximizeQuality

【讨论】:

不,这与设置垂直或水平分辨率的属性值无关。它在将 WiaImageBias 设置为 MaximizeQuality 之前或之后都不起作用。 您对 wia 库有硬引用还是软引用?可能你正在使用winxp dll? 我不太清楚你的意思是我的硬参考还是软参考。我通过 .net 生成的 Interop 使用 WIA。【参考方案2】:

Property Object 有两个属性,SubTypeMax 和 SubTypeMin,您可能需要在设置 value 属性之前检查它们。

【讨论】:

以上是关于WIA 2.0 HP ScanJet 7650 特定问题的主要内容,如果未能解决你的问题,请参考以下文章

WIA 2.0 双面扫描

WIA 2.0 复式属性

WIA 2.0,我在哪里可以找到属性的有效值? C#

在 WIA 2.0 中扫描时设置页面大小

使用 WIA 2.0 和 C# 扫描多页时跳过的页面

WPF 应用程序中的 WIA 扫描