Qt Image Formats

默認情況下,核心 Qt GUI 庫支持讀寫最常見文件格式的圖像文件: PNG , JPEG , BMP , GIF 及更多,參考。 讀寫圖像文件 。Qt Image Formats 附件模塊提供對其它圖像文件格式的可選支持。

通過 Qt 圖像 I/O 係統插件,透明地提供文件格式支持。因此,此模塊不提供自己的 API。相反,訪問功能的辦法如同 Qt 中的其它圖像 I/O:透過 QImage::load () 和 QImage::save ()。或者,對於更細緻控製,透過 QImageReader and QImageWriter .

圖像 I/O 插件

文件格式的實際編碼和解碼,是由編解碼器庫完成的。編解碼器可以是 Qt 或第 3 方代碼。若是第 3 方編解碼器,構建過程中將在係統庫中查找它。若沒有找到,可能迴退到使用捆綁副本 (在 src/3rdparty ).

格式 描述 支持 第 3 方編解碼器
ICNS Apple 圖標圖像 讀/寫 No
JP2 聯閤攝影專傢組 2000 讀/寫 Yes (bundled, unmaintained)
MNG 多圖像網絡圖形 讀取 Yes (bundled, unmaintained)
TGA Truevision 圖形適配器 讀取 No
TIFF TIFF (標簽化圖像文件格式) 讀/寫 Yes (捆綁)
WBMP 無綫位圖 讀/寫 No
WEBP WebP 讀/寫 Yes (捆綁)

注意: 某些捆綁第 3 方編解碼器已不再維護。提供它們隻為手工構建,在係統庫不可用的情況下不會用作迴退。

注意: 齣於安全原因,從 Qt 5.8 起,默認情況下不構建 DDS (直接繪製錶麵) 處理程序。仍想要此處理程序的用戶,可以從源代碼工程構建它。

部署

當構建時,Qt Image Formats 插件作為動態庫位於運行時插件目錄下 (通常 plugins/imageformats ),同默認圖片格式插件一起。可以按如其它插件的相同辦法將它們部署到目標係統,見 部署插件 文檔編製。

許可和歸屬

Qt Image Formats 在商業許可下是可用的來自 Qt 公司 。此外,它是可用的根據 GNU LGPL (次一般公共許可) 第 3 版 ,或 GNU GPL (一般公共許可) 第 2 版 。見 Qt 許可 進一步瞭解細節。

此外,Qt Image Formats 潛在包含的第 3 方模塊遵循下列準許許可:

JasPer JasPer License
MNG reference library zlib 許可
TIFF Software Distribution (libtiff) libtiff 許可
WebP (libwebp) BSD 3 條款新 (或修訂) 許可

安全注意事項

由於這些文件格式很少使用,因此編解碼器可能沒有對潛在的安全性漏洞進行徹底調試。和往常一樣,當創建可能用於解碼不受控製的數據文件的應用程序時,應格外小心。