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