2012-05-11 30 views
3

我正在寫(或者說接管)一個用Visual C++編寫的小型網絡攝像頭捕獲程序。該相機是Allied Vision Technologies公司的產品,使用PvAPI.h,GUi是wxwidgets。當他們無法在wxWidgets下加載tiff圖像時,該項目被放棄。我已經查明問題到一個單一的線,可惜這是在幀捕獲關閉相機使用攝像頭採集方法加載tiff圖像時使用wxWidgets問題

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

行,如果我註釋掉該行下面的行工作正常

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

對於如果我使用ImageWriteTiff,某些原因是不允許wxWidgets導入tiff。我也確保導入所有圖像處理程序

wxInitAllImageHandlers(); 
+0

'不允許wxWidgets導入tiff'這是什麼意思?你是否收到錯誤信息,程序崩潰,是什麼? – ravenspoint

+0

當我運行編譯版本,Visual C++說「TIFF:錯誤閱讀圖像」,並在其詳細說明「TIFF模塊:圖像」「對不起,請求的壓縮方法未配置」「TIFF:錯誤閱讀圖像。 – user1388360

+0

我建議將這些細節添加到您的問題中,以便每個人都可以輕鬆閱讀。 – ravenspoint

回答

0

它們可能具有不支持壓縮的TIFF庫。 IIRC,默認情況下它沒有打開。

作爲一個測試,嘗試將TIFF加載到像Gimp這樣的免費繪圖程序中,並將其保存爲未壓縮並查看您的wx加載代碼是否有效。

如果這是問題,那麼你需要用zlib重建你的wx庫作爲tiff庫的一部分。由於這是OS /編譯器依賴,你需要谷歌。另外,它可能是wx的版本已過期。