我一直在尝试阅读boost::gil文档,但文档有些缺乏和复杂。
抱怨归抱怨,我需要一个关于如何完成以下任务的示例:
创建一个512x512像素的图像。将其填充为红色像素。写入PNG文件。
我在gil文档中找不到任何关于创建图像或填充像素部分的内容。
如果有人能提供帮助,感谢您。
我一直在尝试阅读boost::gil文档,但文档有些缺乏和复杂。
抱怨归抱怨,我需要一个关于如何完成以下任务的示例:
创建一个512x512像素的图像。将其填充为红色像素。写入PNG文件。
我在gil文档中找不到任何关于创建图像或填充像素部分的内容。
如果有人能提供帮助,感谢您。
我还没有使用过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
时,对我有效,并生成这个图像
rgb8_image_t::view_t v = view(img)
),并在其上设置像素:v(10,20) = rgb8_pixel_t(255, 0, 123)
。或者按照文档中的例子,在视图上使用迭代器进行操作。 - Arthur