TGA image converter plugin.
Creates Truevision TGA (
*.tga) files from images with format PixelFormat::
This plugin depends on the Trade library and is built if
MAGNUM_WITH_TGAIMAGECONVERTER is enabled when building Magnum. To use as a dynamic plugin, load
"TgaImageConverter" via Corrade::
Additionally, if you're using Magnum as a CMake subproject, do the following:
set(MAGNUM_WITH_TGAIMAGECONVERTER ON CACHE BOOL "" FORCE) add_subdirectory(magnum EXCLUDE_FROM_ALL) # So the dynamically loaded plugin gets built implicitly add_dependencies(your-app Magnum::TgaImageConverter)
To use as a static plugin or as a dependency of another plugin with CMake, you need to request the
TgaImageConverter component of the
Magnum package and link to the
find_package(Magnum REQUIRED TgaImageConverter) # ... target_link_libraries(your-app PRIVATE Magnum::TgaImageConverter)
See Downloading and building, Usage with CMake, Loading and using plugins and File format support for more information.
Behavior and limitations
The output is RLE-compressed by default unless the uncompressed output is smaller than RLE. You can always produce uncompressed files by disabling the
rle configuration option, and always RLE files by disabling the
rleFallbackIfLarger option. Enabling
rleAcrossScanlines can result in even smaller files but such files are considered invalid in the TGA 2.0 spec and thus may cause issues in certain importers.
The TGA file format doesn't have a way to distinguish between 2D and 1D array images. If an image has ImageFlag2D::
While TGA files can have several extensions, extension() always returns
"tga" as that's the most common one. As TGA doesn't have a registered MIME type, mimeType() returns
It's possible to tune various output options through configuration(). See below for all options and their default values:
# Run-length encode the data for smaller file size rle=true # Fall back to uncompressed output if the RLE output is larger. Disable to # always produce a RLE output. rleFallbackIfLarger=true # Allow RLE to go across scanlines. Can result in even smaller files but # considered invalid in the TGA 2.0 specification and thus may cause issues # in certain importers. rleAcrossScanlines=false
See Editing plugin-specific configuration for more information and an example showing how to edit the configuration values.
- class AbstractImageConverter
- Base for image converter plugins.
Constructors, destructors, conversion operators
- TgaImageConverter() explicit
- Default constructor.
AbstractManager& manager, const Containers:: StringView& plugin) explicit
- Plugin manager constructor.