TWAIN: Как мне получить прогресс сканирования изображения? - PullRequest
4 голосов
/ 20 июля 2011

Мне нужно получать изображения со сканера с интерфейсом TWAIN 1.x

Некоторые старые сканеры сканируют слишком долго, поэтому я думаю, как уведомить пользователя о ходе сканирования.Есть встроенное всплывающее окно с индикатором выполнения и кнопкой «отмена», но это то, что я хочу переопределить.

Вместо TWAIN WIA API отправляет мне фрагменты сканирования с процентами выполнения, чтобы я мог решить эту задачу с помощью WIA, но как насчет TWAIN?

Я попробовал эту симпатичную демонстрацию TWAIN http://www.codeproject.com/KB/audio-video/twaintest.aspx.

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

Есть ли способ получать уведомления о ходе сканирования с помощью API TWAIN 1.x?

Заранее спасибо!

Ответы [ 2 ]

3 голосов
/ 18 октября 2012

Для дальнейшего использования ...

Нет способа получить прогресс сканирования с помощью TWAIN API, и нет стандартного способа получить его путем «мошенничества».TWAIN дает вам возможность попросить драйвер TWAIN отображать (или нет) диалоговое окно прогресса, как указано в OP, но диалоговое окно разработано и управляется отдельным драйвером TWAIN.

Если вы неВ отличие от окна прогресса данного драйвера, у вас есть несколько вариантов:

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

Мой советтратить свои усилия на какой-то другой аспект системы, где у вас есть контроль.

0 голосов
/ 30 июня 2014

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

...