Форматы изображений Qt
Ядро библиотеки Qt Gui по умолчанию поддерживает чтение и запись файлов изображений самых распространённых форматов: PNG, JPEG, BMP, GIF и ещё несколько, см. Чтение и запись файлов изображений. Модуль дополнений Qt Image Formats предоставляет необязательную поддержку других форматов файлов изображений.
Поддержка форматов файлов реализована прозрачно, через плагины для системы ввода/вывода изображений Qt. Таким образом, этот модуль не предоставляет собственного API. Вместо этого функциональность доступна так же, как и для других операций ввода/вывода изображений в Qt: через QImage::load() и QImage::save(). Или, для более детального управления, через QImageReader и QImageWriter.
Плагины ввода/вывода изображений
Фактическое кодирование и декодирование формата файла выполняется библиотекой кодеков. Кодек может быть Qt или сторонним кодом. В случае стороннего кодека процесс сборки будет искать его среди системных библиотек. Если он не найден, может быть использован встроенный экземпляр (в src/3rdparty).
| Формат | Описание | Поддержка | Сторонний кодек |
|---|---|---|---|
| ICNS | Изображение значка Apple | Чтение/запись | Нет |
| JP2 | Формат изображений JPEG 2000 | Чтение/запись | Да (не в комплекте) |
| MNG | Многоизобразительные сетевые графики | Чтение | Да (не в комплекте) |
| TGA | Графический адаптер Truevision | Чтение | Нет |
| TIFF | Формат файлов изображений с метками | Чтение/запись | Да (в комплекте) |
| WBMP | Беспроводной растровый графический файл | Чтение/запись | Нет |
| WEBP | WEBP | Чтение/запись | Да (в комплекте) |
Примечание: Некоторые встроенные сторонние кодеки больше не поддерживаются. Они предоставляются только для ручных сборки, и не используются как резервный вариант, если системные библиотеки недоступны.
Примечание: По соображениям безопасности обработчик Direct Draw Surface (DDS) не включён по умолчанию начиная с Qt 5.8. Пользователи, которые всё ещё хотят использовать этот обработчик, могут собрать его из исходного проекта.
Развёртывание
После сборки плагины Qt Image Formats размещаются как динамические библиотеки в каталоге плагинов во время выполнения (обычно plugins/imageformats), вместе с плагинами по умолчанию для форматов изображений. Они могут быть развернуты на целевой системе так же, как и другие плагины, см. документацию Развёртывание плагинов.
Эволюция модуля
Изменения в Qt Image Formats перечисляет важные изменения в API и функциональности модуля, выполненные для серии Qt 6.
Лицензии и ссылки
Qt Image Formats доступен под коммерческими лицензиями от The Qt Company. Кроме того, он доступен под GNU Lesser General Public License, версия 3, или GNU General Public License, версия 2. Для получения дополнительной информации см. Лицензирование Qt.
Кроме того, Qt Image Formats потенциально содержит сторонние модули под следующими лицензиями с открытым кодом:
Лицензия libtiff |
|
Лицензия BSD 3-clause "Новая" или "Пересмотренная" |
Учёт мер безопасности
Поскольку эти форматы файлов используются реже, кодеки могут быть менее тщательно проверены на предмет возможных уязвимостей. Как всегда, при создании приложений, которые могут использоваться для декодирования неконтролируемых файлов данных, необходимо проявлять осторожность.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qtimageformats-index.html