我一直在尝试阅读boost :: gil文档,但它介于缺乏和复杂之间。
暂且不谈,我需要一个如何执行以下操作的示例:
创建一个512x512的图像。用红色像素填充。写信给PNG。
我在gil的文档中找不到任何关于做任何这些的事情。特别是创建图像或用像素部分填充它。
如果有人可以提供帮助,谢谢。
答案 0 :(得分:23)
我还没有使用过GIL,但我也想学习它。看过design guide并用Google搜索the error related to libpng,看起来最简单的例子就是
#define png_infopp_NULL (png_infopp)NULL
#define int_p_NULL (int*)NULL
#include <boost/gil/gil_all.hpp>
#include <boost/gil/extension/io/png_dynamic_io.hpp>
using namespace boost::gil;
int main()
{
rgb8_image_t img(512, 512);
rgb8_pixel_t red(255, 0, 0);
fill_pixels(view(img), red);
png_write_view("redsquare.png", const_view(img));
}
适用于我,在命令行上使用-lpng
,生成this image