Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qtimageformats.qdoc
Go to the documentation of this file.
1// Copyright (C) 2017 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
3
4/*!
5\title Qt Image Formats
6\page qtimageformats-index.html
7\brief Qt Image Formats module provides support for extra image file formats.
8
9The core Qt Gui library by default supports reading and writing image
10files of the most common file formats: \c PNG, \c JPEG, \c BMP, \c GIF
11and a few more, ref. \l {QImage#Reading and Writing Image Files}{Reading
12and Writing Image Files}. The Qt Image Formats add-on module provides
13optional support for other image file formats.
14
15The file format support is provided transparently, through plugins for
16Qt's image I/O system. As such, this module provides no API of its
17own. Instead, the functionality is accessed in the same way as other
18image I/O in Qt: through QImage::load() and QImage::save(). Or, for
19more detailed control, through QImageReader and QImageWriter.
20
21\section1 The Image I/O Plugins
22
23The actual coding and decoding of the file format is done by a codec
24library. The codec can be Qt or third party code. In case of a third
25party codec, the build process will look for it among the system
26libraries. If not found, it may fall back on using a bundled copy (in
27\c src/3rdparty).
28
29\table
30\header \li Format \li Description \li Support \li 3rd Party Codec
31\row \li HEIC \li High Efficiency Video Coding \li No \li
32\row \li \li - On Apple operating systems: \li Read/write \li Yes, OS built-in
33\row \li ICNS \li Apple Icon Image \li Read/write \li No
34\row \li JP2 \li Joint Photographic Experts Group 2000 \li Read/write \li Yes (Not bundled)
35\row \li \li - On Apple operating systems: \li Read/write \li Yes, OS built-in
36\row \li MNG \li Multiple-image Network Graphics \li Read \li Yes (Not bundled)
37\row \li TGA \li Truevision Graphics Adapter \li Read \li No
38\row \li TIFF \li Tagged Image File Format \li Read/write \li Yes (bundled)
39\row \li WBMP \li Wireless Bitmap \li Read/write \li No
40\row \li WEBP \li WebP \li Read/write \li Yes (bundled)
41\endtable
42
43\note Some bundled third party codecs are not maintained anymore. They are
44provided for manual builds only, and not used as a fallback in case system
45libraries are unavailable.
46
47\note For security reasons, the Direct Draw Surface (DDS) handler is not built
48by default since Qt 5.8. Users who still want this handler can build it from the
49source project.
50
51\section2 Deployment
52
53When built, the Qt Image Formats plugins are located as dynamic
54libraries in the runtime plugin directory (typically \c
55plugins/imageformats), together with the default image format
56plugins. They may be deployed to the target system in the same way as
57other plugins, see the \l{Deploying Plugins} documentation.
58
59\section1 Licenses and Attributions
60
61Qt Image Formats is available under commercial licenses from \l{The Qt Company}.
62In addition, it is available under the
63\l{GNU Lesser General Public License, version 3}, or
64the \l{GNU General Public License, version 2}.
65See \l{Qt Licensing} for further details.
66
67Furthermore Qt Image Formats potentially contains third party
68modules under following permissive licenses:
69
70\generatelist{groupsbymodule attributions-qtimageformats}
71
72\section1 Security Considerations
73
74Since these file formats are more rarely used, the codecs may be less
75thoroughly debugged against potential security holes. As always, care
76should be taken when creating applications that may be used to decode
77uncontrolled data files.
78
79*/