Qt 图像格式

默认情况下,Qt 图形库支持读取和写入最常见的文件格式:PNG、JPEG、BMP、GIF 等几种文件,参考读取和写入图像文件。Qt 图像格式附加模块提供了对其他图像文件格式可选的支持。

文件格式支持通过 Qt 图像 I/O 系统插件透明提供。因此,此模块不提供自己的 API。相反,该功能可以通过与 Qt 中其他图像 I/O 相同的方式访问:通过 QImage::load() 和 QImage::save()。或者,通过 QImageReaderQImageWriter 获取更详细的控制。

图像 I/O 插件

实际编码和解码文件格式的操作由编解码器库完成。编解码器可以是 Qt 或第三方代码。对于第三方编解码器,构建过程将在系统库中查找它。如果未找到,可能需要回退到使用捆绑的副本(在 src/3rdparty 中)。

格式描述支持第三方编解码器
HEIC高效视频编码
- 在 Apple 操作系统中读写是,操作系统内置
ICNSApple 图标图像读写
JP2联合图像专家小组 2000读写是(未捆绑)
- 在 Apple 操作系统中读写是,操作系统内置
MNG多图像网络图形是(未捆绑)
TGATruevision 图形适配器
TIFF标签图像文件格式读写是(已捆绑)
WBMP无线位图读写
WEBPWebP读写是(已捆绑)

注意: 一些捆绑的第三方编解码器不再维护。它们仅提供给手动构建使用,并在系统库不可用时不作为回退使用。

注意: 出于安全原因,从 Qt 5.8 开始,默认不构建 Direct Draw Surface (DDS) 处理器。仍需要此处理器的用户可以从中期项目构建它。

部署

构建时,Qt 图像格式插件位于运行时插件目录中的动态库中(通常为 plugins/imageformats),与默认图像格式插件一起。它们可以像其他插件一样部署到目标系统,请参阅部署插件文档。

许可证和归属

Qt 图像格式可以由 Qt 公司 提供商业许可。此外,它还可在 GNU 通用公共许可证第3版GNU 通用公共许可证第2版 下使用。有关更多信息,请参阅 Qt 许可协议

此外,Qt 图像格式可能包含以下宽松许可的第三方模块:

TIFF 软件发行(libtiff),版本 4.6.0

libtiff 许可协议

WebP(libwebp),版本 1.4.0

BSD 3-clause "新"或"修订"许可

安全考虑

由于这些文件格式使用较少,编解码器可能不会被彻底调试以针对潜在的安全漏洞。始终应谨慎创建可能用于解码不受控制的数据文件的应用程序。

© 2024 Qt 公司有限公司。本手册中包含的贡献文档的版权属于其各自的所有者。本手册中提供的内容是根据自由软件基金会发布的 GNU 自由文档许可证第1.3版 的条款许可的。Qt 以及相应的标志是芬兰和/或其他国家/地区的 Qt 公司的商标。所有其他商标均为其各自所有者的财产。