Как сказал @misha, большинство библиотек имеют эту функцию.Библиотека boost.GIL может сделать это тоже:
#include <boost/gil/gil_all.hpp>
// I need this bugfix to compile against libpng 1.5, your mileage may vary
#define int_p_NULL (int*)NULL
// done with the fix
#include <boost/gil/extension/io/png_dynamic_io.hpp>
int main()
{
boost::gil::rgb8_image_t img;
png_read_image("in.png", img);
png_write_view("out.png", subimage_view(const_view(img), 5, 5, 10, 10));
}
Для компиляции требуется только -lpng
.