如何检查扫描仪支持的图像格式
How to check image formats supported by scanner?
我想通过TWAIN接口获得扫描仪支持的文件格式。有一个如何获得支持格式的例子:
GetCapability(ICAP_IMAGEFILEFORMAT, unTest);
CString strType;
strType.Format("Type Supported %dn", unTest);
但我想这里有问题,因为ICAP_IMAGEFILEFORMAT成员没有一点掩码:
#define TWFF_TIFF 0 /* Tagged Image File Format */
#define TWFF_PICT 1 /* Macintosh PICT */
#define TWFF_BMP 2 /* Windows Bitmap */
#define TWFF_XBM 3
#define TWFF_JFIF 4 /* JPEG File Interchange Format */
#define TWFF_FPX 5 /* Flash Pix */
...
所以如果扫描仪支持TIFF、PICT、BMP&JFIF不可能在一个电话内返回这样的信息。
如何通过扫描仪获取支持的格式列表?
我相信你必须查询DS(例如,尝试设置你想要的值(,看看你想要的格式是否得到支持,然后根据结果,你可以构建列表或支持的格式。我认为这就是消息获取容器的方式,
TW_ONEVALUE—单个值,其当前值和默认值为重合。此类型的可用值的范围能力就是这个单一的价值。例如指示文档存在的能力进料器可以是这种类型。
规范的ICAP_IMAGEFILEFORMAT部分的描述似乎意味着你只能设置一个值,或者返回一个值:
应用
使用此ICAP可确定哪些格式可用于文件传输,并设置诸如ICAP_COMPRESSION之类的其他能力协商。请确保使用DG_CONTROL/DAT_SETUPFILEXFER/MSG_SET操作来指定用于特定采集的格式。
源
如果不支持,则返回TWRC_FAILURE/TWCC_CAPUNSUPPORTED。如果不支持Operation,则返回TWRC_FAILURE、TWCC_CAPBADOOPERATION。(请参见DG_CONTROL/DAT_CAPABILITY/MSG_QUERYSUPPORT(
无论如何,我可能会误解,但对我来说就是这样。
我认为在一个调用中获得所有支持的文件格式是可行的,因为"Container for MSG_GET"answers"Container of MSG_SET"都支持TW_ENUMERATION。
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 编译时未启用intel oneApi CUDA支持
- POCO::PostgreSQL:如何将std::vector支持添加到`Binder::bind`
- 使用CMake检测支持的C++标准
- 如何使用OpenCV将RBG图像转换为HSV,并将H、S和V值保存为C++中的3个独立图像
- OpenCV EqualizeHist()从彩色图像创建黑白图像
- 将"打开的CV图像"中的"颜色"转换为整数格式
- 为什么istream不支持右值提取
- 当我编译webrtc服务器时,Windows上只支持clang-cl
- 扩展光电二极管探测器以支持多个传感器
- MSVC是否支持C++11样式的属性而不是__declspec
- 平均图像时图像损坏
- 在C++中使用GDAL可以将图像的像素坐标转换为lat,long吗
- boost::gil支持10位图像吗
- 如何将 MATLAB 图像处理库内置函数转换为 MATLAB 编码器代码生成不支持的 C++?
- CGIMAGE:支持的图像格式列表
- 我如何将TIFF图像数据传递给JUCE(不支持TIFF)
- 无法在Qt 5.0.2(Linux)中使用QCamera获取相机支持的分辨率以进行图像捕获
- 如何检查扫描仪支持的图像格式
- IMG_Load故障(不支持图像格式)