Magnum::Trade::MiniExrImageConverter class

OpenEXR image converter plugin using miniexr.

Creates OpenEXR (*.exr) files from images with format PixelFormat::RGB16F or PixelFormat::RGBA16F using the miniexr library.

This plugins provides the OpenExrImageConverter plugin, but note that this plugin generates only uncompressed files and the performance might be worse than when using a plugin dedicated for given format, i.e. OpenExrImageConverter.


This plugin depends on the Trade library and is built if MAGNUM_WITH_MINIEXRIMAGECONVERTER is enabled when building Magnum Plugins. To use as a dynamic plugin, load "MiniExrImageConverter" via Corrade::PluginManager::Manager.

Additionally, if you're using Magnum as a CMake subproject, bundle the magnum-plugins repository and do the following:

add_subdirectory(magnum-plugins EXCLUDE_FROM_ALL)

# So the dynamically loaded plugin gets built implicitly
add_dependencies(your-app MagnumPlugins::MiniExrImageConverter)

To use as a static plugin or as a dependency of another plugin with CMake, put FindMagnumPlugins.cmake into your modules/ directory, request the MiniExrImageConverter component of the MagnumPlugins package and link to the MagnumPlugins::MiniExrImageConverter target:

find_package(MagnumPlugins REQUIRED MiniExrImageConverter)

# ...
target_link_libraries(your-app PRIVATE MagnumPlugins::MiniExrImageConverter)

See Downloading and building plugins, Plugin usage with CMake, Loading and using plugins and File format support for more information.

Behavior and limitations

The output is always uncompressed, only half-float RGB and RGBA is supported.

The OpenEXR file format doesn't have a way to distinguish between 2D and 1D array images. If an image has ImageFlag2D::Array set, a warning is printed and the file is saved as a regular 2D image.

As OpenEXR doesn't have a registered MIME type, mimeType() returns "image/x-exr".

Base classes

class AbstractImageConverter
Base for image converter plugins.

Constructors, destructors, conversion operators

MiniExrImageConverter() explicit
Default constructor.
MiniExrImageConverter(PluginManager::AbstractManager& manager, const Containers::StringView& plugin) explicit
Plugin manager constructor.