Spec-Zone.ru › Qt 5.15

Чтение и запись файлов изображений

Наиболее распространённый способ чтения изображений — через конструкторы QImage и QPixmap, или вызов функций QImage::load() и QPixmap::load(). Кроме того, Qt предоставляет класс QImageReader, который даёт больший контроль над процессом. В зависимости от поддержки формата изображения, функции, предоставляемые классом, могут экономить память и ускорять загрузку изображений.

Аналогично, Qt предоставляет класс QImageWriter, который поддерживает настройку параметров, специфичных для формата, таких как уровень гаммы, уровень сжатия и качество, перед сохранением изображения. Если вам не нужны такие параметры, вы можете использовать QImage::save() или QPixmap::save() вместо этого.

QMovie

QMovie — это класс-обёртка для отображения анимаций, использующий класс QImageReader внутри. После создания класс QMovie предоставляет различные функции для запуска и управления заданной анимацией.

Классы QImageReader и QImageWriter полагаются на класс QImageIOHandler, который является общим интерфейсом ввода/вывода изображений для всех форматов изображений в Qt. Объекты QImageIOHandler используются внутри QImageReader и QImageWriter для добавления поддержки различных форматов изображений в Qt.

Список поддерживаемых форматов файлов доступен через функции QImageReader::supportedImageFormats() и QImageWriter::supportedImageFormats(). Qt по умолчанию поддерживает несколько форматов файлов, и, кроме того, можно добавлять новые форматы в виде плагинов. Текущие поддерживаемые форматы перечислены в документации классов QImageReader и QImageWriter.

Механизм плагинов Qt также можно использовать для написания обработчика пользовательского формата изображения. Это делается путём наследования от класса QImageIOHandler и создания объекта QImageIOPlugin, который является фабрикой для создания объектов QImageIOHandler. При установке плагина QImageReader и QImageWriter автоматически загрузит плагин и начнут его использование.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/paintsystem-images.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API