Boost GIL конструкторы изображений - PullRequest
2 голосов
/ 22 сентября 2010

В настоящее время я пытаюсь выяснить, как использовать универсальную библиотеку изображений, включенную в Boost.Прямо сейчас я просто хочу использовать библиотеку для хранения данных пикселей и использовать Image IO для записи PNG.Однако у меня возникают проблемы с пониманием того, как настроить объект.

hpp говорит

image(const point_t& dimensions,
      std::size_t alignment=1) : _memory(0), _align(alignment) {
    allocate_and_default_construct(dimensions);
}

, но я не могу найти никаких ссылок на point_t, кроме type_def для view_t :: point_t дляpoint_t.

Кроме того, учебник, найденный с GIL, кажется, включает только фильтры записи и универсальные алгоритмы, и, таким образом, каждый предоставляемый ими пример функции имеет представление исходного изображения, из которого они берут размеры.

Я поступаю неправильно?Или я что-то упустил полностью?

Заранее спасибо

Редактировать: Я не знаю, если кому-то все равно, или читал это, но для протокола, я просто использовалувеличить функцию чередования изображений для создания PNG.Это не совсем то же самое решение, но оно работает для моих приложений.

1 Ответ

4 голосов
/ 31 января 2011

звучит так, как будто вы решили свою проблему за это время, но только для справки ... вот несколько указателей на информацию о вашей проблеме:

  1. Прежде всего, вы можете иметьпропустил второй конструктор boost :: gil :: image, который предлагает явный доступ к горизонтальным и вертикальным измерениям без необходимости point_t:

    image(x_coord_t width, y_coord_t height,
        std::size_t alignment=0,
        const Alloc alloc_in = Alloc()) : _memory(0), _align_in_bytes(alignment), _alloc(alloc_in) {
        allocate_and_default_construct(point_t(width,height));
    }
    
  2. point_t скорее всего будет ссылатьсяк шаблону класса point2, определенному в boost/gil/utilities.hpp.

  3. Как правило, вы должны проверить полную документацию Boost GIL для всех вопросов, не упомянутых в руководстве.Для более глубокого понимания библиотеки абсолютно необходимо ознакомиться с Руководством по проектированию и документацией Doxygen.

...