TWAIN

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
TWAIN
Разработчик

TWAIN Working Group

Опубликован

Февраль 1992

Последний выпуск

TWAIN 2.3 / 2013-11-21; 370 дней тому назад

Открытый формат?

Да

TWAIN — стандартный протокол и интерфейс (API), определяющий взаимодействие между программами и устройствами захвата изображения, такими как сканеры и цифровые камеры.

Последней версией стандарта TWAIN является TWAIN 2.2, опубликованный 16 февраля 2012 года.

История[править | править вики-текст]

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

Официально «TWAIN» не является аббревиатурой, хотя широко распространена версия англ. Technology Without Any Interesting Name (технология без какого-либо значимого названия). Слово «TWAIN» — устаревшая форма «TWO» (два, двое), взято из стихотворения Киплинга «Баллада о востоке и западе» — англ. …and never the twain shall meet…, отражает сложность связи сканера с компьютером и приведено к верхнему регистру для лучшего выделения.

Цель рабочей группы TWAIN — продолжать развивать стандарт для соответствия современным технологиям.

Интерфейс[править | править вики-текст]

Поскольку TWAIN не является протоколом аппаратного уровня, производитель устройств для получения изображений может предоставлять TWAIN-совместимый драйвер. Таким образом, становится возможным захват изображений не только со сканеров, но и некоторых веб-камер, не только при помощи Video for Windows, DirectShow или WIA, но и через TWAIN. Благодаря открытости стандарта становится возможным использование оборудования с программным обеспечением сторонних поставщиков, например камер для микроскопических систем Leica Microsystems (англ.)[1].

В процессе работы используется несколько абстракций: англ. Data source manager, управляющий всеми доступными в системе TWAIN-совместимыми устройствами и англ. Data source object для каждого отдельного устройства, отвечающий за передачу и настройки захвата получаемого кадра.

Взаимодействие клиентского приложения и устройства можно представить следующим образом:

  1. Диалог выбора устройства захвата (Data source manager)
  2. Открытие источника данных (Data source) и настройка параметров захвата, с установкой разрешения изображения, разрядности и пр.
  3. Клиентское приложение опрашивает устройство. Доступны два механизма: опроса и callback. В последнем случае устройство само сообщает о готовности изображения для передачи.
  4. Собственно передача данных от DS. Существует несколько механизмов передачи:
    1. Native — в Windows это Device independent bitmap в памяти
    2. Memory — блоки пикселей в буферах памяти
    3. File — DS записывает изображение непосредственно в файл (не обязательно поддерживается)
  5. Закрытие источника данных

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

Ссылки[править | править вики-текст]