Есть ли твердый компонент .NET WIA? - PullRequest
16 голосов
/ 17 марта 2011

Я знаю, что вы можете использовать WIA из экосистемы .net без (слишком) больших хлопот, но я обнаружил, что использование WIA таким образом, ну, по крайней мере, беспорядочно.Я видел, что мой код ведет себя совершенно неработающим, некоторые функции WIA не работают и вообще отказываются играть, не говоря уже о хорошем.

Вы можете прочитать об этом в моем WIA 2.0 специфических проблемах HP ScanJet 7650 , на которые не было получено ни одного комментария, не говоря уже о ответе в течение шести месяцев.

Итак, я готов купить работающий компонент WIA .NET за разумную сумму - до 300 долларов.Я просматривал ComponentSorce, и есть много бронтозавров за 2000 $, которые делают TWAIN и едят маленьких детей, если не обращаются хорошо, но ни один компонент WIA .NET.

О да, и немного напыщенно - документация MSDN и примеры по WIA действительно не соответствуют стандартам.

ОБНОВЛЕНИЕ - Всем, кто считает, что эту проблему можно решить с помощьючтение проверочных и готовых статей с примером кода на WIA - невозможно .Чтобы перейти от беспроблемной работы к надежной поддержке сканирования для многих устройств - это большая работа.Я протестировал три разных сканера на своем компьютере, используя WIA из .net, и когда вы думаете, что выяснили некоторые детали, вы подключаете другой сканер и видите, что ничего не выяснили.Вот почему я готов заплатить за это.

Ответы [ 4 ]

2 голосов
/ 19 мая 2011

Возможно, вы захотите проверить, поддерживает ли устройство WPD , замену WIA в Vista или новее.Если устройство не поддерживает WPD, попробуйте получить доступ к устройству с помощью WIA Automation Layer .Он точно не может решить проблемы, связанные с устройствами WIA, но, по крайней мере, это хорошо для стандартизированного поведения.Если ни WPD, ни WIA не поддерживаются, я боюсь, что вам придется иметь дело со старым интерфейсом TWAIN.

Документация WIA в Windows Driver Kit соответствует документации в Windows SDK.Не удивляйтесь, если разработчик драйвера не будет следовать рекомендациям драйвера WIA.Если вы путешествуете по деревьям сканера WIA, убедитесь, что вы знаете разницу в расположении дерева для Windows XP , Vista и Windows 7 .

Обсуждение обёрток этих API для приложений .Net обсуждается на .NET Scanning API .

2 голосов
/ 18 мая 2011

Вы видели эту статью?http://10rem.net/blog/2010/01/08/scanning-images-in-wpf-via-wia

Данный проект можно загрузить с: http://10rem.net/media/55896/petebrownwpfscannerdemo.zip

Он написан на C #, поэтому может помочь

0 голосов
/ 13 июня 2013

Я прокомментировал вопрос, но решил, что добавлю к этой коллекции ссылок что-то новое, с чем я только что столкнулся: https://github.com/baffles/derp-scan

Похоже, это может быть начало библиотеки WIA.это на самом деле может быть полезным (когда-нибудь).

Если посмотреть на код, проблема может заключаться в том, что некоторые свойства работают только как свойства устройства, а некоторые работают только как свойства элемента (WIA_DPS_ * vs WIA_IPS_ *): http://msdn.microsoft.com/en-us/library/windows/hardware/ff539542(v=vs.85).aspx

Там упоминаетсячто есть два совпадения, и я предполагаю, что никакие два сканера не ведут себя одинаково ... это означает, что вы должны просто установить их оба?Я не знаю.Я с тобой, документы дерьмовые.

TL; DR;Копирование кода из codeproject на этот раз не поможет.

0 голосов
/ 18 мая 2011

Я бы сэкономил деньги и рекомендовал бы прочитать статью, подобную этой: http://www.codeproject.com/KB/cs/WebCamService.aspx

Следуйте инструкциям и адаптируйте код в соответствии с вашими требованиями.

...