mirror of
https://invent.kde.org/frameworks/kimageformats.git
synced 2025-10-01 14:24:19 -04:00
TGA: Support for TGA specification 2.0
Adds TGA 2.0 compliance: - Support for Extension Area, Developer Area and Footer (metadata support) - Support for 15-bit and 16-bit per pixel images (both RGB and Indexed) - Full support for rotation on reading (we cannot use Qt transformations because only a subset is part of the TGA specification) - When writing you can choose the supported version (subType) - Improved writing speed (approximately 10 times) and removed whole image conversions (significant memory savings) It pass the [TrueVision TGA 2.0 conformance suite](https://github.com/zigimg/test-suite/tree/master/fixtures/tga). Test changes: - Read test: added ability to skip a specific test on sequential devices (via JSON behavior file) - Write test: added the ability to set the subType when writing (via JSON properties file) Closes #37
This commit is contained in:
committed by
Albert Astals Cid
parent
f933cbe12d
commit
9c6c0c01ae
29
README.md
29
README.md
@ -56,11 +56,17 @@ submit the plugin directly to the Qt Project.
|
||||
To be accepted, contributions must:
|
||||
- Contain the test images needed to verify that the changes work correctly.
|
||||
- Pass the tests successfully.
|
||||
- Use Qt logging categories for Debug messages.
|
||||
|
||||
For more info about tests, see also [Autotests README](autotests/README.md).
|
||||
|
||||
## Duplicated Plugins
|
||||
|
||||
> [!important]
|
||||
> To ensure you are using the correct plugin, the unwanted one should be
|
||||
renamed or deleted. If several plugins support the same capability, Qt will
|
||||
select one arbitrarily.
|
||||
|
||||
### The TGA plugin
|
||||
|
||||
The TGA plugin supports more formats than Qt's own TGA plugin;
|
||||
@ -340,10 +346,6 @@ The plugin supports the following image data:
|
||||
- FOR4 CIMG (Maya Image File Format): It supports 24/48-bit RGB and 32/64-bit
|
||||
RGBA images.
|
||||
|
||||
The plugin does not load images with non-standard SHAM/CTBL chunks due to the
|
||||
lack of clear specifications.
|
||||
|
||||
|
||||
### The JP2 plugin
|
||||
|
||||
**This plugin can be disabled by setting `KIMAGEFORMATS_JP2` to `OFF`
|
||||
@ -426,6 +428,25 @@ selectively change the conversion (see also [raw_p.h](./src/imageformats/raw_p.h
|
||||
|
||||
The default setting tries to balance quality and conversion speed.
|
||||
|
||||
### The TGA plugin
|
||||
|
||||
TGA plugin supports both version 1 and version 2 of TGA files. When writing,
|
||||
it is possible to force which version to use by setting the following subtypes:
|
||||
- `TGAv1`: force TGA v1.0. No metadata.
|
||||
- `TGAv2` (default): force TGA v2.0 (strict). Adds the TGA Extension Area.
|
||||
- `TGAv2E`: force TGA v2.0 (enhanced). Same as TGA v2.0 (strict) but with the
|
||||
addition of the TGA v2.0 Developer Area with info like, for e.g., Exif data,
|
||||
XMP packet and the ICC profile.
|
||||
|
||||
They are all TGA specs compliant. While for versions 1 and 2 (strict) it is
|
||||
possible to decode all the information with the TGA specification alone, for
|
||||
version 2 (enhanced) it is necessary to know how the additional data is
|
||||
encoded.
|
||||
|
||||
The following defines can be defined in cmake to modify the behavior of the
|
||||
plugin:
|
||||
- `TGA_V2E_AS_DEFAULT`: change the default version of the plugin to `TGAv2E`.
|
||||
|
||||
### The XCF plugin
|
||||
|
||||
XCF support has the following limitations:
|
||||
|
Reference in New Issue
Block a user