JPEG image converter plugin.
Creates JPEG (
*.jpeg) files from images with format PixelFormat::
This plugin depends on the Trade and libJPEG libraries and is built if
WITH_JPEGIMAGECONVERTER is enabled when building Magnum Plugins. To use as a dynamic plugin, load
"JpegImageConverter" via Corrade::
Additionally, if you're using Magnum as a CMake subproject, bundle the magnum-plugins repository and do the following. Using libJPEG itself as a CMake subproject isn't tested at the moment, so you need to provide it as a system dependency and point
CMAKE_PREFIX_PATH to its installation dir if necessary.
set(WITH_JPEGIMAGECONVERTER ON CACHE BOOL "" FORCE) add_subdirectory(magnum-plugins EXCLUDE_FROM_ALL) # So the dynamically loaded plugin gets built implicitly add_dependencies(your-app MagnumPlugins::JpegImageConverter)
To use as a static plugin or as a dependency of another plugin with CMake, put FindMagnumPlugins.cmake into your
modules/ directory, request the
JpegImageConverter component of the
MagnumPlugins package and link to the
find_package(MagnumPlugins REQUIRED JpegImageConverter) # ... target_link_libraries(your-app PRIVATE MagnumPlugins::JpegImageConverter)
While some systems (such as macOS) still ship only with the vanilla libJPEG, you can get a much better performance and/or quality/size ratios by using other implementations:
Libjpeg has a switch to enable arithmetic coding instead of Huffman, however it's currently not exposed in the plugin.
It's possible to tune various output options through configuration(). See below for all options and their default values:
[configuration] # Compression quality (0 - 1, 1 is the best) jpegQuality=0.8
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.