sane_control_option-无法设置选项

sane_control_option - can not set option

本文关键字:设置 选项 option- control sane      更新时间:2023-10-16

我正在尝试制作一个可以在Linux上使用扫描仪的应用程序(我使用的是sane后端)。扫描仪工作正常;我正在使用我的应用程序获取图像,但它不是A4格式。它有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 dpi,13的分辨率为200 dpi,14的分辨率为320 dpi。我在400 dpi上更改了所有选项,再次检查,sane_control_option()说所有选项都有400 dpi;然而,我得到了一张相同而非A4格式的图像=(。我也尝试过使用44-47选项,我更改了扫描区域,但结果一次又一次都是一样的。看起来它向我表明接受了更改,但实际上它不接受。函数sane_control_option()总是返回"良好"状态。所以,我很困惑,我将感谢任何帮助。

我想明白了。我在sane_control_option()之前调用sane_start()。因此,在调用sane_start之后,sane不接受任何选项。首先设置选项,然后调用sane_start()