sane_control_option — не могу установить опцию

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

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

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

Байт на строку: 5088

Пиксель на строку: 1696

Линии: 3743

Глубина: 8

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

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

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

1

Решение

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

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]