2016-07-20 5 views
1

Я пытаюсь создать приложение, которое работает со сканером в Linux (я использую sane-backends). Сканер работает нормально; Я получаю изображение, используя свое приложение, НО это не формат А4. Он имеет разрешение 1696 * 3743. Я использовал sane_get_parametrs(), и получил это:sane_control_option - не могу установить опцию

Формат кадра: 1

Последний кадр: 1

байт в строке: 5088

пикселей на линию: 1696

Линии: 3743

Глубина: 8

Вот почему я хочу, чтобы настроить сканер, используя мое приложение. Когда я использовал sane_get_option_descriptor(), у меня были следующие возможности:

  • 12 - Устанавливает разрешение отсканированного изображения.
  • 13 - Устанавливает горизонтальное разрешение отсканированного изображения.
  • 14 - Устанавливает вертикальное разрешение отсканированного изображения.
  • 44 - Верхняя левая позиция сканирования области сканирования.
  • 45 - Верхнее левое положение области сканирования.
  • 46 - Нижняя справа x позиция области сканирования.
  • 47 - Нижнее правое положение области сканирования.

Использование sane_control_option() Я обнаружил, что номер опции 12 имеет разрешение 400 dpi, 13 - 200 точек на дюйм, а 14 - 320 точек на дюйм. Я изменил все на 400 точек на дюйм, снова проверил, и sane_control_option() сказал, что все параметры имеют 400 dpi; однако я получил изображение с таким же форматом формата A4 = (. Я также попытался сыграть с опцией 44-47, я изменил область сканирования, но результат был таким же снова и снова. Похоже, он показывает мне, что изменения приняты, но на самом деле это не принималось. Функция sane_control_option() всегда возвращает «хороший» статус. Поэтому я смущен, и я буду признателен за любую помощь.

ответ

1

Я выяснил. Я вызываю sane_start() перед sane_control_option(). Таким образом, здравый смысл не принимает никаких параметров после вызова sane_start. Сначала установите параметры, а затем вызовите sane_start()

 Смежные вопросы

  • Нет связанных вопросов^_^