LINUX.ORG.RU

[C++][Boost] png_write_view — короткий пример

 ,


0

1

g++ 4.4.4
Что имеется: картинка, записанная в явном виде (матричка с 3*8 байтовыми цветами)
Что нужно: средствами boost'a сохранить её в формате png/jpg/tiff/…

Как выглядит самый короткий код для данной задачи? (в сети куча громоздких и не компилирующихся)



Последнее исправление: botater (всего исправлений: 1)

Что значит «куча громоздких и не компилирующихся» ?!

Boy_from_Jungle ★★★★
()
Ответ на: комментарий от Boy_from_Jungle

А что там можно не указать? Ошибок очень много, ни о чем особо не говорящих. Можете привести какой-нибудь короткий пример подобного?

botater
() автор топика
Ответ на: комментарий от Boy_from_Jungle
#include <utility>
#include <boost/gil/gil_all.hpp>
#include <boost/gil/extension/io/png_io.hpp>

int main() {
    namespace gil = boost::gil;

    gil::point2<ptrdiff_t> dim(400, 400);
    gil::gray8_image_t img(dim);
    auto view = gil::view(img);

    for (ptrdiff_t i = 0; i < dim.y; ++i) { 
        for (ptrdiff_t j = 0; j < dim.x; ++j) {
            view(i, j) = 255 * (std::min(i, j) / static_cast<double>(dim.x));
        }
    }

    gil::png_write_view("img.png", view);
}

g++ -o main main.cpp -W -Wall -lpng

botater
() автор топика

> Что нужно: средствами boost'a сохранить её в формате png/jpg/tiff/…

Чем не устроил libpng, libjpeg, libtiff? Что с бустом, что без оного придется тянуть с собой эти либы.

andreyu ★★★★★
()
Ответ на: комментарий от botater

Ты не указал флаг,там типа -lboost_thread, только не помню какой нужен тебе.

Boy_from_Jungle ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.