默认情况下,核心 Qt GUI 库支持读写最常见文件格式的图像文件:
PNG
,
JPEG
,
BMP
,
GIF
及更多,参考。
读写图像文件
。Qt Image Formats 附件模块提供对其它图像文件格式的可选支持。
通过 Qt 图像 I/O 系统插件,透明地提供文件格式支持。因此,此模块不提供自己的 API。相反,访问功能的办法如同 Qt 中的其它图像 I/O:透过 QImage::load () 和 QImage::save ()。或者,对于更细致控制,透过 QImageReader and QImageWriter .
文件格式的实际编码和解码,是由编解码器库完成的。编解码器可以是 Qt 或第 3 方代码。若是第 3 方编解码器,构建过程中将在系统库中查找它。若没有找到,可能回退到使用捆绑副本 (在
src/3rdparty
).
格式 | 描述 | 支持 | 第 3 方编解码器 |
---|---|---|---|
HEIC | High Efficiency Video Coding | No | |
- On Apple operating systems: | 读/写 | Yes, OS built-in | |
ICNS | Apple 图标图像 | 读/写 | No |
JP2 | 联合摄影专家组 2000 | 读/写 | Yes (未捆绑) |
- On Apple operating systems: | 读/写 | Yes, OS built-in | |
MNG | 多图像网络图形 | 读取 | Yes (未捆绑) |
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 方模块遵循下列准许许可:
TIFF Software Distribution (libtiff), version 4.5.0 | libtiff 许可 |
WebP (libwebp), version 1.3.0 | BSD 3 条款新 (或修订) 许可 |
由于这些文件格式很少使用,因此编解码器可能没有对潜在的安全性漏洞进行彻底调试。和往常一样,当创建可能用于解码不受控制的数据文件的应用程序时,应格外小心。