Qt Image Formats
Qt GUI 核心库默认支持读写最常见的图像文件格式:PNG 、JPEG 、BMP 、GIF 以及其他几种格式,详见Reading and Writing Image Files 。Qt Image Formats 扩展模块为其他图像文件格式提供了可选支持。
文件格式的支持是通过 Qt 图像 I/O 系统的插件以透明方式提供的。因此,该模块本身不提供任何 API。相反,其功能可通过与 Qt 中其他图像 I/O 相同的方式访问:即通过QImage::load() 和QImage::save()。或者,若需更精细的控制,可通过QImageReader 和QImageWriter 进行操作。
图像 I/O 插件
文件格式的实际编码和解码由编解码器库完成。该编解码器可以是 Qt 自身提供的,也可以是第三方代码。如果是第三方编解码器,构建过程会在系统库中搜索它。若未找到,则可能回退到使用捆绑的副本(位于src/3rdparty 中)。
| 格式 | 描述 | 支持 | 第三方编解码器 |
|---|---|---|---|
| HEIC | 高效视频编码 | 不 | |
| - 在苹果操作系统上: | 读/写 | 是,操作系统内置 | |
| ICNS | Apple图标图像 | 读/写 | 否 |
| JP2 | 联合图像专家组 2000 | 读/写 | 是(未捆绑) |
| - 在 Apple 操作系统上: | 读写 | 是,操作系统内置 | |
| MNG | 多图像网络图形 | 读取 | 是(未捆绑) |
| TGA | Truevision 图形适配器 | 读取 | 否 |
| TIFF | 带标签的图像文件格式 | 读/写 | 是(捆绑提供) |
| WBMP | 无线位图 | 读/写 | 否 |
| WEBP | WebP | 读/写 | 是(捆绑提供) |
注意:某些 捆绑的第三方编解码器已不再维护。它们仅供手动构建使用,不能作为系统库不可用时的备用方案。
注意:出于 安全考虑,自 Qt 5.8 起,Direct Draw Surface (DDS) 处理程序默认不再构建。仍需此处理程序的用户可从源代码项目中自行构建。
部署
构建完成后,Qt Image Formats 插件将作为动态库位于运行时插件目录(通常为plugins/imageformats )中,与默认图像格式插件一同存放。它们可与其他插件以相同方式部署到目标系统,请参阅《插件部署》文档。
许可与归属
Qt Image Formats xml-ph-0000@deepl.internal 由The Qt Company 提供商业许可。此外,它还遵循GNU 较少通用公共许可证(第 3 版)或GNU 通用公共许可证(第 2 版)。更多详细信息请参阅Qt 许可。
此外,Qt Image Formats 可能包含以下宽松许可下的第三方模块:
libtiff 许可证 | |
BSD 3 条款“新”或“修订”许可 |
安全注意事项
由于这些文件格式使用较为罕见,相关编解码器针对潜在安全漏洞的调试可能不够彻底。一如既往,在开发可能用于解码不受控数据文件的应用程序时,应格外谨慎。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.