Spec-Zone.ru › Qt 5.6

Класс QImageIOPlugin

Класс QImageIOPlugin определяет интерфейс для создания плагина формата изображения. Подробнее...

Заголовок: #include <QImageIOPlugin>
qmake: QT += gui
Наследуется от: QObject
  • Список всех членов, включая унаследованные

Примечание: Все функции в этом классе являются перевключенными.

Открытые типы

флаги Возможности
перечисление Возможность { МожноЧитать, МожноЗаписать, МожноЧитатьПоЧастям }

Открытые функции

QImageIOPlugin(QObject *parent = Q_NULLPTR)
виртуальный ~QImageIOPlugin()
виртуальный Возможности возможности(QIODevice *device, const QByteArray &format) const = 0
виртуальный QImageIOHandler * создать(QIODevice *device, const QByteArray &format = QByteArray()) const = 0
  • 31 открытых функций унаследовано от QObject

Дополнительные унаследованные члены

  • 1 свойство унаследовано от QObject
  • 1 открытый слот унаследован от QObject
  • 2 сигналы унаследованы от QObject
  • 11 статические открытые члены унаследованы от QObject
  • 9 защищенных функций унаследовано от QObject

Подробное описание

Класс QImageIOPlugin определяет интерфейс для создания плагина формата изображения.

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

Создание плагина ввода/вывода изображений достигается путем наследования от этого базового класса, переопределения чисто виртуальных функций возможности() и создать(), и экспорта класса с помощью макроса Q_PLUGIN_METADATA(). Подробности см. в Руководство по созданию плагинов Qt.

Плагин формата изображения может поддерживать три возможности: чтение (МожноЧитать), запись (МожноЗаписать) и постепенное чтение (МожноЧитатьПоЧастям). Переопределите возможности() в подклассе, чтобы отобразить возможности вашего формата изображения.

создать() должен создать экземпляр подкласса QImageIOHandler с правильными установками device и format и вернуть этот обработчик.

Файл метаданных json для плагина должен содержать информацию о форматах изображений, которые поддерживает плагин, вместе с соответствующими MIME-типами (по одному для каждого формата). Например, для плагина jpeg это может выглядеть следующим образом:

{
  "Keys": [ "jpg", "jpeg" ],
  "MimeTypes": [ "image/jpeg", "image/jpeg" ]
}

Различные плагины могут поддерживать разные возможности. Например, у вас может быть один плагин, который поддерживает чтение формата GIF, и другой, который поддерживает запись. Qt выберет правильный плагин для задачи в зависимости от возвращаемого значения возможности(). Если несколько плагинов поддерживают одну и ту же возможность, Qt произвольно выберет одну.

См. также QImageIOHandler и Руководство по созданию плагинов Qt.

Документация по типам членов

перечисление QImageIOPlugin::Возможностьфлаги QImageIOPlugin::Возможности

Это перечисление описывает возможности QImageIOPlugin.

Константа Значение Описание
QImageIOPlugin::CanRead 0x1 Плагин может читать изображения.
QImageIOPlugin::CanWrite 0x2 Плагин может записывать изображения.
QImageIOPlugin::CanReadIncremental 0x4 Плагин может читать изображения по частям.

Тип Возможности — это typedef для QFlags<Возможность>. Он хранит результат логической операции ИЛИ над значениями Возможности.

Документация по функциям-членам

QImageIOPlugin::QImageIOPlugin(QObject *parent = Q_NULLPTR)

Конструктор плагина изображения с заданным parent. Вызывается автоматически кодом moc, сгенерированным для экспорта плагина.

[virtual] QImageIOPlugin::~QImageIOPlugin()

Удаляет плагин формата изображения.

Вам никогда не нужно вызывать это явно. Qt удаляет плагин автоматически, когда он больше не используется.

[pure virtual] Возможности QImageIOPlugin::возможности(QIODevice *device, const QByteArray &format) const

Возвращает возможности плагина на основе данных в device и формате format. Если device — это 0, он должен просто сообщить, можно ли читать или записывать формат. В противном случае он должен попытаться определить, можно ли читать или записывать заданный формат (или любой формат, поддерживаемый плагином, если format пуст) из или в device. Это должно происходить без изменения состояния device (как правило, с помощью QIODevice::peek()).

Например, если QImageIOPlugin поддерживает формат BMP, format либо пустое, либо "bmp", и данные в устройстве начинаются с символов "BM", эта функция должна возвращать МожноЧитать. Если format — это "bmp", device — это 0 и обработчик поддерживает чтение и запись, эта функция должна возвращать МожноЧитать | МожноЗаписать.

Имена форматов всегда указываются строчными буквами.

[pure virtual] QImageIOHandler *QImageIOPlugin::создать(QIODevice *device, const QByteArray &format = QByteArray()) const

Создаёт и возвращает подкласс QImageIOHandler с установленными device и format. format должен быть из значений, перечисленных в записи "Keys" в метаданных плагина, или быть пустым. Если он пуст, данные в device должны быть распознаны методом возможности() (с аналогично пустым форматом).

Имена форматов всегда указываются строчными буквами.

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

Spec-Zone.ru

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