读取和写入图像文件
读取图像最常见的方式是通过 QImage 和 QPixmap 的构造函数,或者调用 QImage::load() 和 QPixmap::load() 函数。此外,Qt 提供了 QImageReader 类,它提供了对过程更多的控制。根据图像格式底层的支持,该类提供的函数可以节省内存并加快图像加载速度。
同样,Qt 提供了 QImageWriter 类,该类支持在存储图像之前设置格式特定的选项,例如伽玛级别、压缩级别和质量。如果您不需要这些选项,则可以使用 QImage::save() 或 QPixmap::save()。
QMovie QMovie 是一个方便类,用于显示动画,内部使用 QImageReader 类。一旦创建,QMovie 类提供各种功能来运行和控制指定的动画。 |
QImageReader 和 QImageWriter 类依赖于 QImageIOHandler 类,它为 Qt 中所有图像格式提供一个共同的图像 I/O 接口。内部由 QImageReader 和 QImageWriter 使用 QImageIOHandler 对象来向 Qt 添加对不同的图像格式的支持。
您可以通过 QImageReader::supportedImageFormats() 和 QImageWriter::supportedImageFormats() 函数获取支持的文件格式列表。Qt 默认支持几种文件格式,并且还可以作为插件添加新的格式。当前支持的格式在 QImageReader 和 QImageWriter 的类文档中列出。
Qt 的插件机制也可以用来编写自定义图像格式处理程序。这是通过从 QImageIOHandler 类派生出来完成的,并创建一个 QImageIOPlugin 对象,它是一个用于创建 QImageIOHandler 对象的工厂。当插件安装后,QImageReader 和 QImageWriter 将自动加载插件并开始使用它。
© 2024 Qt 公司有限。本文件中包含的文档贡献是各自所有者的版权。本文件中的文档是根据自由软件基金会出版并发布的 GNU 自由文档许可证 1.3 版 的条款许可的。Qt 和相关标志是芬兰和/或其他国家/地区的 Qt 公司的商标。所有其他商标均为其各自所有者的财产。