16

我一直在尝试阅读 boost::gil 文档,但它介于缺乏和复杂之间。

除了咆哮,我需要一个关于如何执行以下操作的示例:

创建一个图像,比如 512x512。用红色像素填充它。写信给 PNG。

在 gil 的文档中,我根本找不到任何关于这样做的任何内容。特别是创建图像或用像素部分填充图像。

如果有人可以帮忙,谢谢。

4

1 回答 1

27

我还没有使用过 GIL,但我也想学习它。查看了设计指南并搜索了与 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在命令行上,产生这个图像

在此处输入图像描述

于 2011-05-04T20:37:38.390 回答