Форматы изображений 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 | Многоизображений Network Graphics | Чтение | Да (не в комплекте) |
| TGA | Truevision Graphics Adapter | Чтение | Нет |
| TIFF | Формат файла изображения с метками | Чтение/запись | Да (в комплекте) |
| WBMP | Беспроводной растровый образ | Чтение/запись | Нет |
| WEBP | WebP | Чтение/запись | Да (в комплекте) |
Примечание: Некоторые связанные сторонние кодеки больше не поддерживаются. Они предоставляются только для ручных сборок и не используются в качестве резервного варианта, если системные библиотеки недоступны.
Примечание: По соображениям безопасности обработчик Direct Draw Surface (DDS) не включается по умолчанию начиная с Qt 5.8. Пользователи, которым всё ещё нужен этот обработчик, могут собрать его из исходного проекта.
Развёртывание
После сборки плагины Qt Image Formats размещаются в виде динамических библиотек в каталоге плагинов среды выполнения (обычно plugins/imageformats), вместе с плагинами стандартных форматов изображений. Они могут быть развернуты на целевой системе так же, как и другие плагины, см. документацию Развёртывание плагинов.
Лицензии и авторские права
Qt Image Formats доступен по коммерческим лицензиям от The Qt Company. Кроме того, он доступен по GNU Lesser General Public License, version 3 или GNU General Public License, version 2. Дополнительные сведения см. в Qt Licensing.
Кроме того, Qt Image Formats потенциально содержит модули сторонних разработчиков под следующими общими лицензиями:
Лицензия libtiff |
|
Лицензия BSD 3-clause "New" или "Revised" |
Учет мер безопасности
Поскольку эти форматы файлов используются реже, кодеки могут быть менее тщательно проверены на предмет потенциальных уязвимостей. Как всегда, следует проявлять осторожность при создании приложений, которые могут использоваться для декодирования файлов данных, содержание которых неизвестно.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qtimageformats-index.html