Search code examples
c++boostboost-gil

Reading png images with gil


Is it possible with boost::gil to read the RGB image information so that I can read the file into the correct rgbx_image_t?

With the following I have to know the type beforehand and that is not so neat.

boost::gil::rgb8_image_t im;
gil::png_read_image(m_filename, im);

Solution

  • You can make a list of types you want to try and use an any_image to hold a type-erased result:

    typedef mpl::vector<rgb8_image_t, rgb16_image_t> my_img_types;
    any_image<my_img_types> runtime_image;
    png_read_image("input.png", runtime_image);
    

    Source