Browse Source

Trade: add docs about multi-level image conversion.

pull/537/head
Vladimír Vondruš 5 years ago
parent
commit
36b7446a6a
  1. 15
      doc/snippets/MagnumTrade.cpp
  2. 12
      src/Magnum/Trade/AbstractImageConverter.h

15
doc/snippets/MagnumTrade.cpp

@ -90,6 +90,21 @@ if(!converter || !converter->convertToFile(image, "image.png"))
/* [AbstractImageConverter-usage-file] */
}
{
/* [AbstractImageConverter-usage-file-levels] */
PluginManager::Manager<Trade::AbstractImageConverter> manager;
Containers::Pointer<Trade::AbstractImageConverter> converter =
manager.loadAndInstantiate("AnyImageConverter");
Image2D level0{PixelFormat::RGBA16F, {256, 256}, DOXYGEN_IGNORE({})};
Image2D level1{PixelFormat::RGBA16F, {128, 128}, DOXYGEN_IGNORE({})};
Image2D level2{PixelFormat::RGBA16F, {64, 64}, DOXYGEN_IGNORE({})};
if(!converter || !converter->convertToFile({level0, level1, level2}, "image.exr"))
Fatal{} << "Can't save image.exr with AnyImageConverter";
/* [AbstractImageConverter-usage-file-levels] */
}
{
Image2D image{{}, {}, {}};
/* [AbstractImageConverter-usage-image] */

12
src/Magnum/Trade/AbstractImageConverter.h

@ -495,6 +495,18 @@ image converter plugins.
exposing functionality of all image converter plugins on a command line as
well as performing introspection of image files.
@subsection Trade-AbstractImageConverter-usage-file-levels Saving a set of mip levels
Certain file formats, such as OpenEXR, DDS or ICO, are capable of storing
multiple image mip levels in a single file. Each format has a slightly
different set of rules for image sizes and their order, in general putting the
largest level first and then gradually halving the size should always work. In
the following snippet we'll save three mip levels to an EXR file, again using
the @ref AnyImageConverter plugin, which will then most likely delegate to
@link OpenExrImageConverter @endlink:
@snippet MagnumTrade.cpp AbstractImageConverter-usage-file-levels
@subsection Trade-AbstractImageConverter-usage-image Converting image data
In the following snippet we use @ref StbDxtImageConverter to convert the same

Loading…
Cancel
Save