Форматы изображений 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 | Joint Photographic Experts Group 2000 | Чтение/запись | Да (включён, не поддерживается) |
| MNG | Сеть графических изображений (Multiple-image Network Graphics) | Чтение | Да (включён, не поддерживается) |
| TGA | Truevision Graphics Adapter | Чтение | Нет |
| TIFF | Tagged Image File Format | Чтение/запись | Да (включён) |
| WBMP | Беспроводной битовый рисунок (Wireless Bitmap) | Чтение/запись | Нет |
| 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, версия 3 или GNU General Public License, версия 2. Подробнее см. Лицензирование Qt.
Кроме того, Qt Image Formats потенциально содержит модули сторонних разработчиков под следующими разрешительными лицензиями:
Лицензия JasPer |
|
Лицензия zlib |
|
Лицензия libtiff |
|
Лицензия BSD 3-пунктная «Новая» или «Переработанная» |
Соображения безопасности
Поскольку эти форматы файлов используются реже, кодеки могут быть менее тщательно протестированы на потенциальные уязвимости в области безопасности. Как всегда, при создании приложений, которые могут декодировать неконтролируемые данные файлов, необходимо соблюдать осторожность.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qtimageformats-index.html