#include <boost/gil/typedefs.hpp>
#include <boost/gil/extension/io/png_dynamic_io.hpp>
#include <boost/assign/std/vector.hpp>
#include <utilgil.hpp>
#include <utilstl.hpp>
using namespace boost::gil;
using namespace boost::assign;
//GCC Build String
//g++ sample7.cpp -g -lpng -lz -I . -I ~/lib/boost -I ~/lib
int main(int args, char** argv)
{
boost::gil::rgb8_image_t img_a;
png_read_image("small.png",img_a);
rgb8_image_t img_b(200,200);
fill_pixels(boost::gil::view(img_b),
rgb8_pixel_t(230,230,230));
int x = (view(img_b).width()-view(img_a).width())/2;
int y = (view(img_b).height()-view(img_a).height())/2;
copy_pixels(view(img_a),subimage_view(view(img_b),x,y,
view(img_a).width(),view(img_a).height()));
png_write_view("sample7.png", view(img_b));
}