使用相机采集方法时,使用wxWidgets加载tiff图像时出现问题 我正在编写(或者更确切地说)一个用Visual C++编写的网络摄像机捕获程序。该相机是一种联合视觉技术,使用PvAPI.h,GUi是用wxwidgets编写的。当他们无法在wxWidgets下加载tiff图像时,该项目被放弃。我把问题归结为一条线,不幸的是,这条线是从相机上拍摄到画面的地方 if( !ImageWriteTiff(GCamera.Filename,pFrame) )

使用相机采集方法时,使用wxWidgets加载tiff图像时出现问题 我正在编写(或者更确切地说)一个用Visual C++编写的网络摄像机捕获程序。该相机是一种联合视觉技术,使用PvAPI.h,GUi是用wxwidgets编写的。当他们无法在wxWidgets下加载tiff图像时,该项目被放弃。我把问题归结为一条线,不幸的是,这条线是从相机上拍摄到画面的地方 if( !ImageWriteTiff(GCamera.Filename,pFrame) ),c++,visual-c++,wxwidgets,tiff,C++,Visual C++,Wxwidgets,Tiff,如果我把这行注释掉,下面的行就可以了 image = new wxStaticBitmap(mainPanel, wxID_ANY, wxBitmap("C:\\path-to\\horse.tif", wxBITMAP_TYPE_TIF), wxPoint(244,64)); 出于某种原因,如果我使用ImageWriteTiffis,则不允许wxWidgets导入tiff。我还确保导入所有图像处理程序 wxInitAllImageHandlers(); 他们可能在不支持压缩的情况下

如果我把这行注释掉,下面的行就可以了

image = new wxStaticBitmap(mainPanel, wxID_ANY, wxBitmap("C:\\path-to\\horse.tif",
    wxBITMAP_TYPE_TIF), wxPoint(244,64));
出于某种原因,如果我使用
ImageWriteTiff
is,则不允许wxWidgets导入tiff。我还确保导入所有图像处理程序

wxInitAllImageHandlers();

他们可能在不支持压缩的情况下构建了TIFF库。IIRC,默认情况下它没有打开

作为测试,尝试将TIFF加载到一个免费的绘画程序(如Gimp)中,并将其保存为未压缩,然后查看wx加载代码是否有效


如果这就是问题所在,那么您需要使用zlib作为tiff库的一部分来重建wx库。因为这依赖于操作系统/编译器,所以您需要用谷歌搜索它。另外,可能是wx的版本已经过时。

“不允许wxWidgets导入tiff”这意味着什么?你是否收到了一个错误消息,程序崩溃了吗?什么时候运行一个编译版本,Visual C++说“TIFF:错误读取图像”,在细节上说“TIFF模块:图像”“对不起,请求压缩方法没有配置”“TIFF:错误读取图像”。我建议把这些细节添加到你的问题中,这样每个人都可以轻松地阅读。