Imported Upstream version 1.72.0
[platform/upstream/boost.git] / libs / gil / doc / html / _downloads / dynamic_image.cpp
1 //
2 // Copyright 2005-2007 Adobe Systems Incorporated
3 //
4 // Distributed under the Boost Software License, Version 1.0
5 // See accompanying file LICENSE_1_0.txt or copy at
6 // http://www.boost.org/LICENSE_1_0.txt
7 //
8 #include <boost/gil.hpp>
9 #include <boost/gil/extension/dynamic_image/any_image.hpp>
10 #include <boost/gil/extension/io/jpeg.hpp>
11 #include <boost/mp11.hpp>
12
13 int main()
14 {
15     namespace gil = boost::gil;
16
17     using my_images_t = boost::mp11::mp_list<gil::gray8_image_t, gil::rgb8_image_t, gil::gray16_image_t, gil::rgb16_image_t>;
18     gil::any_image<my_images_t> dynamic_image;
19     gil::read_image("test.jpg", dynamic_image, gil::jpeg_tag());
20     // Save the image upside down, preserving its native color space and channel depth
21     auto view = gil::flipped_up_down_view(gil::const_view(dynamic_image));
22     gil::write_view("out-dynamic_image.jpg", view, gil::jpeg_tag());
23 }