TWAIN
TWAIN — стандартный протокол и интерфейс (API), определяющий взаимодействие между программами и устройствами захвата изображения, такими как сканеры и цифровые камеры.
TWAIN | |
---|---|
Разработчик | TWAIN Working Group |
Опубликован | Февраль 1992 |
Последний выпуск | TWAIN 2.5 (4 ноября 2021 ) |
Тип формата | интерфейс программирования приложений |
Открытый формат? | Да |
Сайт | twain.org |
Последней версией стандарта TWAIN является TWAIN 2.5, опубликованный 4 ноября 2021 года.
История
Инициативная группа 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 для каждого отдельного устройства, отвечающий за передачу и настройки захвата получаемого кадра.
Взаимодействие клиентского приложения и устройства можно представить следующим образом[2]:
- Диалог выбора устройства захвата (Data source manager)
- Открытие источника данных (Data source) и настройка параметров захвата, с установкой разрешения изображения, разрядности и пр.
- Клиентское приложение опрашивает устройство. Доступны два механизма: опроса и callback. В последнем случае устройство само сообщает о готовности изображения для передачи.
- Собственно передача данных от DS. Существует несколько механизмов передачи:
- Native — в Windows это Device independent bitmap в памяти
- Memory — блоки пикселей в буферах памяти
- File — DS записывает изображение непосредственно в файл (не обязательно поддерживается)
- Закрытие источника данных
Примечания
- Leica Microsystems CCD Digital Color Camera
- What Is TWAIN? . Дата обращения: 15 февраля 2018. Архивировано 1 ноября 2012 года.