Magnum::Trade::JpegImporter class

JPEG importer plugin.

Supports RGB or grayscale images with 8 bits per channel.

This plugin depends on the Trade and libJPEG libraries and is built if WITH_JPEGIMPORTER is enabled when building Magnum Plugins. To use as a dynamic plugin, you need to load the "JpegImporter" plugin from MAGNUM_PLUGINS_IMPORTER_DIR. To use as a static plugin or as a dependency of another plugin with CMake, you need to request the JpegImporter component of the MagnumPlugins package and link to the MagnumPlugins::JpegImporter target. See Downloading and building plugins, Plugin usage with CMake and Loading and using plugins for more information.

The images are imported with PixelFormat::RGB8Unorm or PixelFormat::R8Unorm. All imported images use default PixelStorage parameters.

libJPEG implementations

While some systems (such as macOS) still ship only with the vanilla libJPEG, you can get a much better decoding performance by using libjpeg-turbo.

Base classes

class AbstractImporter
Base for importer plugins.

Constructors, destructors, conversion operators

JpegImporter() explicit
Default constructor.
JpegImporter(PluginManager::AbstractManager& manager, const std::string& plugin) explicit
Plugin manager constructor.

Private functions

auto doFeatures() const override -> Features virtual
Implementation for features()
auto doIsOpened() const override -> bool virtual
Implementation for isOpened()
void doClose() override virtual
Implementation for close()
void doOpenData(Containers::ArrayView<const char> data) override virtual
Implementation for openData()
auto doImage2DCount() const override -> UnsignedInt virtual
Implementation for image2DCount()
auto doImage2D(UnsignedInt id) override -> Containers::Optional<ImageData2D> virtual
Implementation for image2D()

Function documentation

UnsignedInt Magnum::Trade::JpegImporter::doImage2DCount() const override virtual private

Implementation for image2DCount()

Default implementation returns 0.