3

我正在编写(或者更确切地说是接管)一个用 Visual C++ 编写的小型网络摄像机捕获程序。相机是 Allied Vision Technologies 的,使用的是PvAPI.h,而 GUI 是用wxwidgets. 当他们无法在 wxWidgets 下加载 tiff 图像时,该项目被放弃了。我已将问题追溯到一条线,可悲的是它是从相机捕获帧的线

if( !ImageWriteTiff(GCamera.Filename,pFrame) )

如果我注释掉这一行,则以下行可以正常工作

image = new wxStaticBitmap(mainPanel, wxID_ANY, wxBitmap("C:\\path-to\\horse.tif",
    wxBITMAP_TYPE_TIF), wxPoint(244,64));

出于某种原因,如果我使用ImageWriteTiffis 不允许 wxWidgets 导入 tiff。我还确保导入所有图像处理程序

wxInitAllImageHandlers();
4

1 回答 1

0

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

作为测试,尝试将 TIFF 加载到像 Gimp 这样的免费绘图程序中,然后将其保存为未压缩的状态,然后查看 wx 加载代码是否有效。

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

于 2012-05-20T22:32:01.423 回答