Есть ли твердый компонент.NET WIA?
Я знаю, что вы можете использовать WIA из экосистемы.net без (слишком) больших хлопот, но я обнаружил, что использование WIA таким образом, ну, по крайней мере, ошибочно. Я видел, что мой код ведет себя совершенно неработающим, некоторые функции WIA не работают и вообще отказываются играть, не говоря уже о хорошем.
Вы можете прочитать об этом в моем WIA 2.0 HP ScanJet 7650 по конкретному вопросу о проблемах, который не получил ни одного комментария, не говоря уже о том, чтобы ответить за шесть месяцев.
Итак, я готов купить работающий компонент WIA .NET за разумную сумму - до 300 долларов. Я просматривал вокруг ComponentSorce и есть много бронтозавров за 2000 $, которые делают TWAIN и едят маленьких детей, если не обращаются хорошо, но ни один компонент WIA .NET.
Ах да, и немного напыщенно - документация MSDN и примеры по WIA действительно не соответствуют стандартам.
ОБНОВЛЕНИЕ - Для всех, кто думает, что эта проблема может быть решена с помощью прочтения проверенных концепций и готовых статей с примером кода на WIA - это невозможно. Чтобы перейти от бесперебойной работы к надежной поддержке сканирования для многих устройств, это большая работа. Я протестировал три разных сканера на своем компьютере, используя WIA из.net, и когда вы думаете, что выяснили некоторые детали, вы подключаете другой сканер и видите, что ничего не выяснили. Вот почему я готов заплатить за это.
4 ответа
Вы видели эту статью? http://10rem.net/blog/2010/01/08/scanning-images-in-wpf-via-wia
Вышеуказанный проект можно загрузить с: http://10rem.net/media/55896/petebrownwpfscannerdemo.zip
Это в C#, так что это может помочь.
Вы, вероятно, хотите проверить, поддерживает ли устройство 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.
Я бы сэкономил деньги и рекомендовал бы прочитать такую статью: http://www.codeproject.com/KB/cs/WebCamService.aspx
Следуйте инструкциям и адаптируйте код в соответствии с вашими требованиями.
Я прокомментировал вопрос, но решил, что добавлю к этой коллекции ссылок что-то новое, с чем я только что столкнулся: https://github.com/baffles/derp-scan
Похоже, это может быть начало библиотеки WIA, которая действительно может быть использована (когда-нибудь).
Если посмотреть на код, проблема может заключаться в том, что некоторые свойства работают только как свойства устройства, а некоторые - только как свойства элемента (WIA_DPS_* против WIA_IPS_ *): http://msdn.microsoft.com/en-us/library/windows/hardware/ff539542(v=vs.85).aspx
Там упоминается, что есть два совпадения, и я предполагаю, что нет двух сканеров, которые ведут себя одинаково... это означает, что вы должны просто установить их оба? Я не знаю. Я с тобой, документы это дерьмо.
TL; DR; Копирование кода из codeproject на этот раз не поможет.