Форматы изображений 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 доступен по коммерческим лицензиям от 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.14/qtimageformats-index.html