• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //
2 // Copyright 2013 Christian Henning
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/extension/io/png.hpp>
9 #include <boost/gil/extension/io/bmp.hpp>
10 #include <boost/gil/extension/io/jpeg.hpp>
11 #include <boost/gil/extension/io/pnm.hpp>
12 #include <boost/gil/extension/io/targa.hpp>
13 #include <boost/gil/extension/io/tiff.hpp>
14 
15 #include <boost/core/lightweight_test.hpp>
16 
17 #include "paths.hpp"
18 
19 namespace gil = boost::gil;
20 namespace fs = boost::filesystem;
21 
22 // Test will include all format's headers and load and write some images.
23 // This test is more of a compilation test.
24 
test_bmp()25 void test_bmp()
26 {
27     gil::rgb8_image_t img;
28     gil::read_image(bmp_filename, img, gil::bmp_tag());
29 
30     fs::create_directories(fs::path(bmp_out));
31     gil::write_view(bmp_out + "simple_all_format.bmp", gil::view(img), gil::bmp_tag());
32 }
33 
test_jpeg()34 void test_jpeg()
35 {
36     gil::rgb8_image_t img;
37     gil::read_image(jpeg_filename, img, gil::jpeg_tag());
38     fs::create_directories(fs::path(jpeg_out));
39     gil::write_view(jpeg_out + "simple_all_format.jpg", gil::view(img), gil::jpeg_tag());
40 }
41 
test_png()42 void test_png()
43 {
44     gil::rgba8_image_t img;
45     gil::read_image(png_filename, img, gil::png_tag());
46     fs::create_directories(fs::path(png_out));
47     gil::write_view(png_out + "simple_all_format.png", gil::view(img), gil::png_tag());
48 }
49 
test_pnm()50 void test_pnm()
51 {
52     gil::rgb8_image_t img;
53     gil::read_image(pnm_filename, img, gil::pnm_tag());
54 
55     fs::create_directories(fs::path(pnm_out));
56     gil::write_view(pnm_out + "simple_all_format.pnm", gil::view(img), gil::pnm_tag());
57 }
58 
test_targa()59 void test_targa()
60 {
61     gil::rgb8_image_t img;
62     gil::read_image(targa_filename, img, gil::targa_tag());
63 
64     fs::create_directories(fs::path(targa_out));
65     gil::write_view(targa_out + "simple_all_format.tga", gil::view(img), gil::targa_tag());
66 }
67 
test_tiff()68 void test_tiff()
69 {
70     gil::rgba8_image_t img;
71     gil::read_image(tiff_filename, img, gil::tiff_tag());
72 
73     fs::create_directories(fs::path(tiff_out));
74     gil::write_view(tiff_out + "simple_all_format.tif", gil::view(img), gil::tiff_tag());
75 }
76 
main(int argc,char * argv[])77 int main(int argc, char* argv[])
78 {
79     try
80     {
81         test_bmp();
82         test_jpeg();
83         test_png();
84         test_pnm();
85         // TODO: test_raw()
86         test_targa();
87         test_tiff();
88     }
89     catch (std::exception const& e)
90     {
91         BOOST_ERROR(e.what());
92     }
93     return boost::report_errors();
94 }
95