Создание образа с Boost.GIL - PullRequest
14 голосов
/ 05 мая 2011

Я пытался прочитать документацию boost :: gil, но это где-то между отсутствием и запутанностью.

Отбросив в сторону, мне нужен пример того, как сделать следующее:

Создайте изображение, скажем, 512x512.Заполните его красными пикселями.Пишите в PNG.

Я ничего не могу найти о том, чтобы что-либо из этого сделать, в документации по gil.В частности, создание изображения или заполнение его пикселями.

Если кто-то может помочь, спасибо.

1 Ответ

24 голосов
/ 05 мая 2011

Я еще не использовал 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 в командной строке, выдав это изображение

enter image description here

...