Что выбрать при сканировании: TWAIN или WIA драйвер
В каждом человеке есть хотя бы капелька садистских наклонностей. Разница только в их количественном содержании и качественном проявлении. Вот я, например, люблю задавать людям вопросы на темы, в которых они ничего не понимают, и смотреть, как они мучаются, пытаясь угадать правильный ответ. Оказывается, точно такую же пытку любит проводить любой специалист в своей области. Иначе как объяснить, к примеру, тот факт, что практически любая компьютерная программа, работающая со сканером изображений, при первом использовании обязательно задаст вопрос, типа: «А какой драйвер вы хотите использовать при сканировании: TWAIN или WIA? А, может, вы хотите воспользоваться нашим собственным драйвером? Или вы предпочитаете драйвера ISIS?»
Любой нормальный пользователь компьютера, после такого вопроса пойдёт и повесится, чувствуя свою полную беспомощность в этой жизни. Или по крайней мере уйдёт в запой на неделю.
Дорогие мои, не надо! Я вас спасу! По крайней мере от этого конкретного вопроса. Давайте вместе решим, какой же именно драйвер нам желательно использовать в обычном российском офисе при сканировании обычных российских документов на обычном российскомкитайском американском сканере.
Ответ
Если ваше устройство поддерживает драйвер ISIS, то, очевидно, эта статья не для вас. Эти драйвера предназначены для промышленного обрудования, имеют массу возможностей и подразумевают, что пользоваться ими будут специалисты, глубоко погружённые в существо вопроса. В общем, для обычных людей ISIS — не вариант.
Резюме
При работе со сканером используйте по возможности интерфейс TWAIN.
При работе с фотокамерой или любым другим устройством, не требующим особых настроек при передаче изображений, удобнее использовать стадндарт WIA.
Одно замечание. Если программа, с которой в работаете, имеет свой собственный интерфейс для работы со сканером, то на мой взгляд им пользоваться предпочтительнее. Могу объяснить это тем, что, во-первых, интерфейс этот не меняется при использовании различных сканеров, а во-вторых, в нём присутствуют только те настройки, которые важны для данной конкретной программы. Примером может служить программа FineReader:
Тем не менее, даже при использовании интерфейса FineReader вы всё равно не избавляете себя от выбора подходящего драйвера устройства (TWAIN или WIA), так что информация из статьи остётся актуальной и в этом случае.
21 Jul. 11 Preview release available for IEVision, an ImageEn plug-in for face and object tracking, OCR and image patching 11 Jul. 11 ImageEn v4.0.0 released with Coverflow-style animation, thumbnail print preview, revamped dialogs and much more 3 Jun. 11 New web site with updated demo applications and renewed development for ImageEn 28 May 11 Digital Camera Raw Images Plug-in v1.443 is released for ImageEn 10 Sep. 10 ImageEn v3.1.2 released with Delphi/C++ XE compatibility, 25 new transition effects and more
Copyright � 1998-2010 by HiComponents. All rights reserved.
This software comes without express or implied warranty. In no case shall the author be liable for any damage or unwanted behavior of any computer hardware and/or software. HiComponents grants you the right to include the compiled component in your application, whether COMMERCIAL, SHAREWARE or FREEWARE. ImageEn may not be included in any commercial, shareware or freeware «libraries» or «components».
THE SOFTWARE IS NOT INTENDED FOR USE IN THE OPERATION OF NUCLEAR FACILITIES, AIRCRAFT NAVIGATION, COMMUNICATIONS SYSTEMS, OR AIR TRAFFIC CONTROL OR SIMILAR ACTIVITIES IN WHICH CASE THE FAILURE OF THE SOFTWARE COULD LEAD TO DEATH, PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE. No Rental. Customer may not rent or lease the SOFTWARE to someone else. All title and copyrights in and to the SOFTWARE (including but not limited to all images, photographs, animations, video, audio, music, text, and other information incorporated into the SOFTWARE), the accompanying printed materials, and any copies of the SOFTWARE, are owned by HiComponents. The SOFTWARE is protected by copyright laws and international treaty provisions. Accordingly, Customer is required to treat the SOFTWARE like any other copyrighted material, except as otherwise allowed pursuant to this LICENSE and that it may make one copy of the SOFTWARE solely for backup or archive purposes.
For demos, suggestions and bug fixes
Extra transitions implemented by Nigel Cross (nigel@xequte.com) based on TCustomPicShow by Kambiz R. Khojasteh (kambiz@delphiarea.com)
Redeye Removal Algorithm «Redeye removal» algorithm developed by Valentim Batista The author can be contacted at: timsara@softhome.net http://timsara.zetafleet.com http://www.geocities.com/gc_timsara
Little cms Copyright (C) 1998-2004 Marti Maria
JPEG This software is based in part on the work of the Independent JPEG Group
PNG PNG Development Group Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. Copyright (c) 1996, 1997 Andreas Dilger Copyright (c) 1998, 1999 Glenn Randers-Pehrson
Какой драйвер выбрать TWAIN или WIA? Что выбрать при сканировании: TWAIN или WIA драйвер
Добрый вечер всем посетителям моего блога. Тема сегодня будет связана со сканированием. Сканированием тем, что идёт в комплекте с МФУ. Буквально на выходных мой друг попросил меня отсканировать ему кучу фотографий. И при выполнении этой просьбы заинтересовался такой интересной вещью — как драйвер сканера. На моём МФУ — Samsung SCX-4200 в программе можно было выбрать один из двух драйверов, со страшными названиями. Один назывался TWAIN, а другой WIA. Вот с такими непонятными словами мы сегодня разберёмся.
Что такое драйвер сканирования?
Думаю никому не секрет, что для взаимодействия любого внешнего аппарата и компьютера, помимо непосредственного соединения двух устройств проводами, на компьютере необходимо установить специальную программу, который называется драйвер. Собственно драйвер, это некая база команд, описанная программистами на низкоуровневом языке, для взаимодействия с оборудованием. Ну собственно в нашем примере есть сканер, что сканер выполнял наши нажатия кнопки «Сканировать» он должен понять это действие. Поэтому мы и устанавливаем драйвер. Который в момент нашего нажатия на кнопку «Сканировать» выполняет определённый алгоритм и посылает на бинарном языке в сканер команду, за счёт чего сканер начинает двигать фотоголовкой. Производители драйверов при написании кода должны придерживаться определённых стандартов. Их может быть множество. Мы рассмотрим некоторые из них. Это TWAIN и WIA.
Что такое TWAIN-драйвер?
TWAIN — это стандарт, как говорилось выше, созданный изготовителями сканеров, обеспечивающий взаимодействие сканера с ПО. Twain-драйвер сканера — это ПО, которое осуществляет передачу данных от сканера в программное приложение, из которого Вы вызываете сканер. С помощью Twain-драйвера производится установка параметров и области сканирования, предварительное сканирование и просмотр, обеспечивается возможность цветокорректировки и постобработки получаемого изображения.
Официально «TWAIN» не является аббревиатурой, хотя широко распространена версия англ. Technology Without An Interesting Name (технология без интересного названия/имени).
Что такое WIA-драйвер?
За подробностями обратимся в Википедию.
По сравнению с TWAIN этот стандарт возник не так давно, всего лишь в 2000 году.
Что лучше TWAIN или WIA?
Оба драйвера могут выполнять сканирование по сети. В большинстве своём они похожи однако функции TWAIN и WIA различаются. Также стоит сказать, что TWAIN-драйвера идут от производителя, в тот момент когда WIA непосредственно с участием Microsoft.
Вывод
В случае с Windows — системами, честно сказать выбор остаётся за Вами. В то время как в других системах TWAIN драйвера будут в большем приоритете. Но конечный выбор будет за Вами.
Интерфейс ISIS (Image and Scanner Interface Specification), так же, как и Twain создан для взаимодействия сканера и компьютера, но способен выполнять более сложные задачи. Он представляет собой совокупность модулей, каждый из которых выполняет определенную функцию (сканирование, конвертация, компрессия). Эти модули могут объединяться, образуя конвейеры для выполнения сложных, многоэтапных задач. ISIS предлагает разработчикам ПО надежный и стабильный интерфейс для интеграции задач, связанных со сканированием, в приложения. Поскольку ISIS является промышленным стандартом, пользователь сканера с ISIS-драйвером может быть уверен, что купленный им аппарат совместим со всеми приложениями операционной системы, разработанными с учетом данного стандарта.
В каждом человеке есть хотя бы капелька садистских наклонностей. Разница только в их количественном содержании и качественном проявлении. Вот я, например, люблю задавать людям вопросы на темы, в которых они ничего не понимают, и смотреть, как они мучаются, пытаясь угадать правильный ответ. Оказывается, точно такую же пытку любит проводить любой специалист в своей области. Иначе как объяснить, к примеру, тот факт, что практически любая компьютерная программа, работающая со сканером изображений, при первом использовании обязательно задаст вопрос, типа: «А какой драйвер вы хотите использовать при сканировании: TWAIN или WIA? А, может, вы хотите воспользоваться нашим собственным драйвером? Или вы предпочитаете драйвера ISIS?»
Любой нормальный пользователь компьютера, после такого вопроса пойдёт и повесится, чувствуя свою полную беспомощность в этой жизни. Или по крайней мере уйдёт в запой на неделю.
Дорогие мои, не надо! Я вас спасу! По крайней мере от этого конкретного вопроса. Давайте вместе решим, какой же именно драйвер нам желательно использовать в обычном российском офисе при сканировании обычных российских документов на обычном российском китайском американском сканере.
Ответ
Стандарту TWAIN в следующий вторник исполнится три тысячи лет. Казалось бы, пользоваться тем же самым интерфейсом, которым пользовались наши предки в каменных пещерах, не очень разумно. Но тем не менее, именно этот драйвер и стоит выбрать, если есть такая возможность. На то есть несколько причин:
Резюме
При работе со сканером используйте по возможности интерфейс TWAIN.
При работе с фотокамерой или любым другим устройством, не требующим особых настроек при передаче изображений, удобнее использовать стадндарт WIA.
Одно замечание. Если программа, с которой в работаете, имеет свой собственный интерфейс для работы со сканером, то на мой взгляд им пользоваться предпочтительнее. Могу объяснить это тем, что, во-первых, интерфейс этот не меняется при использовании различных сканеров, а во-вторых, в нём присутствуют только те настройки, которые важны для данной конкретной программы. Примером может служить программа FineReader:
Тем не менее, даже при использовании интерфейса FineReader вы всё равно не избавляете себя от выбора подходящего драйвера устройства (TWAIN или WIA), так что информация из статьи остётся актуальной и в этом случае.
На компьютере установлен Windows XP SP2 в силу его технических характеристик и наличия корпоративной лицензии на данную ОС. МФУ подключено к USB порту компьютера кабелем стандартной длины Аm-Bm.
При установке под Windows XP на родном диске не установился софт для сканирования. После запуска утилиты установки софта с софтверного диска, автоматически установились только Twain драйвера.
В Twain driver setting установлено только одно устройство: fs-1030mfp/fs-1130mfp (usb). Оно отмечено галочкой.
В «списке драйверов» устройства (открытого через диспетчер устройств) ряд поставщиков файлов отсутствует, либо выводится псевдографикой. Либо принадлежат cyocera.
При этом печать на устройство идёт нормально. Как с локального компьютера, так и с сетевого компьютера. (принтер разделён для общего пользования средствами Windows XP).
Появилось предположение, что драйвера в боксовой поставке расcчитаны только под win7. Раз не поставились утилитой установки.
Поэтому скачал драйвера для сканера под Windows XP с официального сайта. Отсюда: http://cdn.kyostatics.net/dlc/eu/driver/all/scannerdrv_fs-103x.-download.
Как и при установке с диска, драйвера ругались на то, что не тестированы на совместимость с ОС.
Проблем это не решило. Устройство видно в списке устройств, но ни одной программой не определяется, как «включённое».
Попросил протестировать в авторизованном сервисном центре, где лежит другой агрегат из этой партии (не отправлявший факс) на другой машине под ХР, чтобы исключить проблему в кривости «конкретного агрегата», «компьютера» и «того, кто устанавливает эти драйвера».
Всё то же самое. Чудес не произошло. Сканер не заработал и у специалиста из сервисного центра.
При этом при установке на семёрку подобный агрегат установил не только ли драйвера, но и софтину для сканирования. Которая работает с USB подключением.
В таком случае, заверили меня в сервисном центре, «этот деффект не является гарантийным случаем».
А у меня лицензия только на ХР.
Подскажите пожалуйста, как можно решить эту проблему, если оставить локальное USB соединение, т.к. в кабинете, где стоит агрегат нет свободной розетки LAN, чтобы пойти через использование аппарата «по сети».
Информация об оборудовании пользователя
Комплектация Оборудования Дополнительными устройствами
Способ подключения к сети / рабочей станции
Kyocera fs-1130mfp WIA driver (USB) от 14.11.2011
Ответы
Для корректной работы всех приложений на компьютере необходимо выполнять регулярное обновление драйверов всех устройств ПК. В этом пользователям и поможет небольшая программа ДрайверСканнер, позволяющая автоматически сканировать версии «прошивки» устройств и выводить список необходимых для обновления драйверов. После этого нажатием одной кнопки вы можете выполнить этот «апгрейд». Если вы следите за производительностью и корректной работой своего компьютера, можете скачать бесплатно DriverScanner и установить ее новую версию.
Возможности:
Принцип работы:
Установить ДрайверСканнер можно для Windows XP, Vista, 7 и 8.
Плюсы:
Минусы:
ДрайверСканнер будет полезен для каждого владельца ПК. Эта программа автоматически сканирует версии драйверов для корректной работы всех приложений и позволяет нажатием одной кнопки обновить все «прошивки». Кроме того, функциями утилиты предусмотрено резервное копирование данных, чтобы вернуть предыдущую версию драйвера в случае неправильной работы приложения. Одним словом, для драйверных обновлений мы рекомендуем вам использовать DriverScanner. Скачать бесплатно его последнюю версию может любой пользователь.
Однако, для скачивания самих драйверов нужно купить ключ программы.
Последние несколько лет мы с коллегами пытаемся сделать так, чтобы в офисе стало меньше бумаги. С цифровыми документами сотрудники работают быстрее и качественнее — да и пыли становится в разы меньше.
Чтобы полностью перейти на цифровые документы сначала надо отсканировать бумажные. Для разработки десктопных приложений сканировщиков мы используем .NET Framework. Из коробки он не предоставляет средств для работы со сканерами. Поскольку .NET дружит с COM, можно использовать компонент WIA (Windows Imaging Architecture).
Для удобной работы с WIA я написал класс, легший в основу многих приложений для сканирования. Я хочу поделиться нашим опытом работы со сканерами на примере класса Scanner.
Он используется в нескольких очень полезных приложениях нашего банка. Например, все заявки и договоры клиентов банка оцифровываются приложениями использующими класс Scanner.
Не все простое гениально
Чтобы начать работать со сканером из разрабатываемого приложения нужно сначала его выбрать, затем настроить, после чего можно сканировать. Поэтому public интерфейс класса можно ограничить двумя методами — Configuration и Scan.
Configuration будет показывать стандартный диалог настройки сканера. Scan будет сканировать документ и возвращать MemoryStream с картинкой.
Теперь в деталях.
Работать со сканером будем через WIA. Для этого подключим к проекту COM компонент Microsoft Windows Image Acquisition Library v2.0, реализация которого находится в файле C:\Windows\System32\wiaaut.dll.
Привычно настроить сканер один раз и при следующей загрузке приложения иметь уже настроенный сканер. Нам понадобятся функции для настройки сканера и для сохранения и восстановления конфигурации. Создадим класс Scanner и в начале файла добавим using WIA. При создании объекта класса Scanner пытаемся загрузить настройки из конфига. Если не получилось, предлагаем настроить сканер вручную.
Обычно одна программа работает с одним сканером, поэтому можно было бы сделать синглетон. В моем случае может быть несколько сканеров одновременно. Вот как будет выглядеть наш конструктор:
Что здесь делает MessageBox? В большинстве случаев приложения для сканирования подразумевают GUI. Для вывода информации вполне можно показать сообщение через MessageBox, тем более конфигурировать сканер будем через стандартный WIA диалог.
Начнем с настройки сканера. Настройка сканера будет осуществляться функцией Configuration(), которую, можно вызывать в любой удобный момент, например, по нажатию кнопки «Настройка сканера» в программе.
У сканера много параметров, часть из которых должна вычисляться из других, поэтому, чтобы не усложнять, мы использовали стандартный WIA-диалог CommonDialogClass для настройки. Сначала предлагаем пользователю программы выбрать сканер ShowSelectDevice(WiaDeviceType. ScannerDeviceType, true). Диалог вернет объект Device или null, если устройство не выбрано.
Затем настраиваем полученное устройство ShowSelectItems(_scanDevice). В настройках можно задать DPI, размер бумаги, цветовой режим и другие параметры.
Основной недостаток этого окна настройки в том, что для подтверждения вместо логичного OK, придется нажать на кнопку «Сканировать», хотя в нашем случае сканирование запущено не будет.
После успешной настройки сохраняем конфигурацию в файл вызовом SaveConfig().
Сохранения/восстановления настроек WIA не предоставляет. Пришлось сделать эту часть самостоятельно. Тут не было ничего сложного, настройки представлены в виде списка IProperty, который есть у Device и у Item.
Для сохранения мы выбрали удобный для чтения текстовый формат, в котором имя параметров, идентификаторы и значения разделены точкой с запятой, а настройки для Device и Item разделены заголовками [device] и [item].
Процедура сканирования тривиальна. Она возвращает либо MemoryStream с картинкой, либо null, если получить скан не получилось.
На мой взгляд, при сканировании удобнее рисовать свой прогресс-бар, поэтому скрываем стандартный прогресс. Для сканирования без отображения прогресса используется метод Transfer.
Дуплекс/Симплекс
Многие протяжные сканеры поддерживают режим двухстраничного сканирования, который можно выбрать через диалог настройки.
Однако в стандартном диалоге можно забыть установить Duplex режим, поэтому полезно иметь возможность форсированно включать режим Duplex и возвращаться к исходным настройкам.
Конечно, Scanner нельзя назвать полноценным инструментом для работы со сканером, но это готовое решение для работы с различными типами сканеров. Этот пример иллюстрирует принцип работы с WIA из-под. NET, и может быть основой для построения программ сканирования.
Что выбрать при сканировании: TWAIN или WIA драйвер
Добрый вечер всем посетителям моего блога. Тема сегодня будет связана со сканированием. Сканированием тем, что идёт в комплекте с МФУ. Буквально на выходных мой друг попросил меня отсканировать ему кучу фотографий. И при выполнении этой просьбы заинтересовался такой интересной вещью — как драйвер сканера. На моём МФУ — Samsung SCX-4200 в программе можно было выбрать один из двух драйверов, со страшными названиями. Один назывался TWAIN, а другой WIA. Вот с такими непонятными словами мы сегодня разберёмся.
Что такое драйвер сканирования?
Думаю никому не секрет, что для взаимодействия любого внешнего аппарата и компьютера, помимо непосредственного соединения двух устройств проводами, на компьютере необходимо установить специальную программу, который называется драйвер. Собственно драйвер, это некая база команд, описанная программистами на низкоуровневом языке, для взаимодействия с оборудованием. Ну собственно в нашем примере есть сканер, что сканер выполнял наши нажатия кнопки «Сканировать» он должен понять это действие. Поэтому мы и устанавливаем драйвер. Который в момент нашего нажатия на кнопку «Сканировать» выполняет определённый алгоритм и посылает на бинарном языке в сканер команду, за счёт чего сканер начинает двигать фотоголовкой. Производители драйверов при написании кода должны придерживаться определённых стандартов. Их может быть множество. Мы рассмотрим некоторые из них. Это TWAIN и WIA.
Что такое TWAIN-драйвер?
TWAIN — это стандарт, как говорилось выше, созданный изготовителями сканеров, обеспечивающий взаимодействие сканера с ПО. Twain-драйвер сканера — это ПО, которое осуществляет передачу данных от сканера в программное приложение, из которого Вы вызываете сканер. С помощью Twain-драйвера производится установка параметров и области сканирования, предварительное сканирование и просмотр, обеспечивается возможность цветокорректировки и постобработки получаемого изображения.
Официально «TWAIN» не является аббревиатурой, хотя широко распространена версия англ. Technology Without An Interesting Name (технология без интересного названия/имени).
Что такое WIA-драйвер?
За подробностями обратимся в Википедию.
По сравнению с TWAIN этот стандарт возник не так давно, всего лишь в 2000 году.
Что лучше TWAIN или WIA?
Оба драйвера могут выполнять сканирование по сети. В большинстве своём они похожи однако функции TWAIN и WIA различаются. Также стоит сказать, что TWAIN-драйвера идут от производителя, в тот момент когда WIA непосредственно с участием Microsoft.
Вывод
В случае с Windows — системами, честно сказать выбор остаётся за Вами. В то время как в других системах TWAIN драйвера будут в большем приоритете. Но конечный выбор будет за Вами.
Инициативная группа TWAIN была запущена в 1992 году лидирующими в отрасли производителями, которые признали необходимость стандартизировать протокол и программный интерфейс взаимодействия приложений и устройств захвата изображений (источников данных). TWAIN определяет такой стандарт.
После инсталлирования драйвера TWAIN вы можете открывать в программах редактирования или каталогизации изображений файлы, которые пока еще хранятся в памяти камеры. Разумеется, для этого камера должна быть подключена к компьютеру. К тому же установленные на вашем компьютере программы обработки изображений должны быть TWAIN-совместимыми, т.е. понимать протокол TWAIN.
В разных программах предусмотрены разные команды для открытия файлов, хранящихся в памяти камеры. Как правило, расположены они в меню File (Файл) и обозначаются как-то наподобие Acquire (Извлечь) или Import (Импортировать). В некоторых программах необходимо предварительно указать, к какому аппаратному компоненту вы хотите получить доступ. Для этого используется команда TWAIN source (Источник TWAIN), также обычно расположенная в меню File.
(Далее следует текст, датируемый примерно 2005 годом и взятый с сайта codenet.ru): В отличие от принтеров сканеры изначально не поддерживались ОС Windows и не имеют API для работы с ними. В начале своего появления сканеры взаимодействовали с программами посредством уникального для каждой модели сканера интерфейса, что серьезно затрудняло включение поддержки работы со сканером в прикладные программы.
Каждый источник данных разрабатывается непосредственно производителем соответствующих устройств и их поддержка стандарта TWAIN осуществляется на добровольной основе.
DSM и DS это DLLs загружаемые в адресное пространство приложения и работают как подпрограммы приложения. DSM использует межпроцесcную связь, что бы координировать действия со своими копиями, когда больше чем одна программа использует TWAIN.
Упрощенная схема действия приложения использующего TWAIN:
Данная библиотека была разработана, что бы упростить разработку программ использующих TWAIN предоставляя разработчику упрощенную версию TWAIN API.
EZTWAN обеспечивает передачу всех windows-сообщений через TWAIN и ожидает сообщения о готовности изображения.
Перед вызовом функций сканирования необходимо вызвать функцию: TWAIN_SelectImageSource(hwnd: HWND): Integer;
Данная функция позволяет выбрать источник получения данных из списка TWAIN совместимых устройств. В качестве параметра она получает хендл основного окна прикладной программы. Следует заменить, что если в системе имеется одно TWAIN-совместимое устройство, то вызывать функцию необязательно.
Для получения изображения служит функция: TWAIN_AcquireNative(hwnd: HWND; pixmask: Integer): HBitmap;
По окончании работы с DIB-данными их необходимо удалить вызвав процедуру: TWAIN_FreeNative(hDIB: HBitmap);
Для облегчения обработки полученных DIB данных в библиотеке имеется несколько сервисных функций:
Procedure TForm1.Accquire1Click(Sender: TObject); var dat: hBitMap; PInfo: PBitMapInfoHeader; Height,Width:integer; <Функция возведения 2 в степень s>function stp2(s:byte):longint; var m: longint; i: byte; begin m:=2; for i:=2 to s do m:=m*2; stp2:=m; end; begin <Получаем указатель на графические данные>dat:=TWAIN_AcquireNative(Handle,0); if dat <> 0 then begin <Получаем указатель на область памяти содержащей DIB данные и блокируем область памяти>PInfo:=GlobalLock(dat); <Анализируем полученные данные>Height:=PInfo.biHeight ; Width:=PInfo.biWidth ; <Узнаем размер полученного изображения в сантиметрах>Wcm.Caption:=floatToStrF(100/PInfo.biXPelsPerMeter*Width,ffNumber,8,3) +» cm»; Hcm.Caption:=floatToStrF(100/PInfo.biYPelsPerMeter*Height,ffNumber,8,3) +» cm»; <Определяем число цветов в изображении>Colors.Caption:= floatToStrF(stp2(PInfo.biBitCount),ffNumber,8,0)+ » цветов»; <Разблокируем память>GlobalUnlock(dat); <Передаем в битовую матрицу графические данные> <И устанавливаем перехват ошибок>try MyBitMap.Palette:=TWAIN_CreateDibPalette(dat); MyBitMap.Width:= Width; MyBitMap.Height:= Height; TWAIN_DrawDibToDC(MyBitMap.Canvas.Handle,0,0,Width,Height,dat,0,0); except <Обрабатываем наиболее вероятную ошибку связанную с не хваткой ресурсов для загрузки изображения>on EOutOFResources do MessageDlg(«TBitMap: Нет ресурсов для загрузки изображения!», mtError,,0); end; <Отображаем графические данные>Image1.Picture.Graphic:=MyBitMap; <Освобождаем память занятую графическими данными>TWAIN_FreeNative(dat); end; end;
Обработка ошибок необходима, так как объект TBitMap имеет серьезные ограничения на размер создаваемого изображения. При этом производится обработка наиболее вероятной ошибки, в случае возникновения другой ошибки, ее обработка будет передана обработчику по умолчанию. Обработка ошибки в данном случае заключается в выдаче диагностического сообщения. В прикладной программе можно реализовать выполнение любых необходимых действий, например, произвести уменьшение разрешения и повторно подать на загрузку в TBitMap.
Приведенный здесь пример тестировался на сканере Umax 2000P с драйвером VistaScan32 V3.52. При получении изображений следует помнить, что максимальный размер блока памяти, который может распределить Windows, составляет 2 Гб и при попытке сканировании страниц формата А4 с высоким разрешением можно превысить этот предел. Кроме того, достаточно простой в обращении объект TBitMap имеет куда более серьезные ограничения на размер загружаемых изображений, что требует непосредственной работы с DIB-данными. (Конец цитируемого текста с сайта codenet.ru )
Интерфейс ISIS (Image and Scanner Interface Specification), так же, как и Twain создан для взаимодействия сканера и компьютера, но способен выполнять более сложные задачи. Он представляет собой совокупность модулей, каждый из которых выполняет определенную функцию (сканирование, конвертация, компрессия). Эти модули могут объединяться, образуя конвейеры для выполнения сложных, многоэтапных задач. ISIS предлагает разработчикам ПО надежный и стабильный интерфейс для интеграции задач, связанных со сканированием, в приложения. Поскольку ISIS является промышленным стандартом, пользователь сканера с ISIS-драйвером может быть уверен, что купленный им аппарат совместим со всеми приложениями операционной системы, разработанными с учетом данного стандарта.
В каждом человеке есть хотя бы капелька садистских наклонностей. Разница только в их количественном содержании и качественном проявлении. Вот я, например, люблю задавать людям вопросы на темы, в которых они ничего не понимают, и смотреть, как они мучаются, пытаясь угадать правильный ответ. Оказывается, точно такую же пытку любит проводить любой специалист в своей области. Иначе как объяснить, к примеру, тот факт, что практически любая компьютерная программа, работающая со сканером изображений, при первом использовании обязательно задаст вопрос, типа: «А какой драйвер вы хотите использовать при сканировании: TWAIN или WIA? А, может, вы хотите воспользоваться нашим собственным драйвером? Или вы предпочитаете драйвера ISIS?»
Любой нормальный пользователь компьютера, после такого вопроса пойдёт и повесится, чувствуя свою полную беспомощность в этой жизни. Или по крайней мере уйдёт в запой на неделю.
Дорогие мои, не надо! Я вас спасу! По крайней мере от этого конкретного вопроса. Давайте вместе решим, какой же именно драйвер нам желательно использовать в обычном российском офисе при сканировании обычных российских документов на обычном российском китайском американском сканере.
Ответ
Стандарту TWAIN в следующий вторник исполнится три тысячи лет. Казалось бы, пользоваться тем же самым интерфейсом, которым пользовались наши предки в каменных пещерах, не очень разумно. Но тем не менее, именно этот драйвер и стоит выбрать, если есть такая возможность. На то есть несколько причин:
Резюме
При работе со сканером используйте по возможности интерфейс TWAIN.
При работе с фотокамерой или любым другим устройством, не требующим особых настроек при передаче изображений, удобнее использовать стадндарт WIA.
Одно замечание. Если программа, с которой в работаете, имеет свой собственный интерфейс для работы со сканером, то на мой взгляд им пользоваться предпочтительнее. Могу объяснить это тем, что, во-первых, интерфейс этот не меняется при использовании различных сканеров, а во-вторых, в нём присутствуют только те настройки, которые важны для данной конкретной программы. Примером может служить программа FineReader:
Тем не менее, даже при использовании интерфейса FineReader вы всё равно не избавляете себя от выбора подходящего драйвера устройства (TWAIN или WIA), так что информация из статьи остётся актуальной и в этом случае.
Для корректной работы всех приложений на компьютере необходимо выполнять регулярное обновление драйверов всех устройств ПК. В этом пользователям и поможет небольшая программа ДрайверСканнер, позволяющая автоматически сканировать версии «прошивки» устройств и выводить список необходимых для обновления драйверов. После этого нажатием одной кнопки вы можете выполнить этот «апгрейд». Если вы следите за производительностью и корректной работой своего компьютера, можете скачать бесплатно DriverScanner и установить ее новую версию.
Возможности:
Принцип работы:
Установить ДрайверСканнер можно для Windows XP, Vista, 7 и 8.
Плюсы:
Минусы:
ДрайверСканнер будет полезен для каждого владельца ПК. Эта программа автоматически сканирует версии драйверов для корректной работы всех приложений и позволяет нажатием одной кнопки обновить все «прошивки». Кроме того, функциями утилиты предусмотрено резервное копирование данных, чтобы вернуть предыдущую версию драйвера в случае неправильной работы приложения. Одним словом, для драйверных обновлений мы рекомендуем вам использовать DriverScanner. Скачать бесплатно его последнюю версию может любой пользователь.
Однако, для скачивания самих драйверов нужно купить ключ программы.