Форматы изображений 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 | 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 потенциально содержит модули сторонних разработчиков под следующими либеральными лицензиями:
Лицензия libtiff |
|
Лицензия BSD 3-пунктная "новая" или "пересмотренная" |
Соображения безопасности
Поскольку эти форматы файлов используются реже, кодеки могут быть менее тщательно проверены на возможные уязвимости. Как всегда, необходимо проявлять осторожность при создании приложений, которые могут использоваться для декодирования файлов данных без контроля.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qtimageformats-index.html