C ++ Библиотека графических рисунков [закрыто]
Вопрос
Кто-нибудь знает, какая библиотека графических рисунков является лучшей для C ++, мне нужна библиотека, которая может рисовать базовые фигуры и делает редактирование изображений, градиентов, векторов или 3D очень подходящим вариантом.
Функции рисования окон сложные и не очень продвинутые.
Решение
Могу ли я предложить использовать Каир ? Р>
Эта векторная библиотека очень быстрая, многословная и мощная! Просто посмотрите на эти красивые примеры !
Существует даже интеграция с OpenGL , если вам нужны векторизованные 3D-текстуры!
Другие советы
Я тестировал AGG, Cairo, GDI + и Quartz (для Mac).
Я думаю, что Quartz - лучший, но доступен (насколько мне известно) только для Mac.
AGG мощно, но плохо документировано. Разработчик решил заново изобрести колесо и создал собственную док-систему вместо использования чего-то стандартного, например, doxygen. Существуют хорошие учебники для базового понимания, но когда вы копаете глубже, вы обнаружите, что документация API отсутствует, неточна или неполна.
GDI + довольно простой по сравнению с другими и доступен только для Windows.
В результате я думаю, что лучшим выбором, вероятно, является Каир (если только вы не можете разрабатывать только для Mac). Он хорошо документирован, код чистый, быстрый и мощный.
Ознакомьтесь с библиотекой CImg.
CImg означает «Прохладный образ». : Это простой в использовании и эффективный. Это очень приятный набор инструментов для кодирования изображения обработка материалов в C ++, и потенциально охватывает широкий спектр приложения для обработки изображений.
Графические библиотеки OpenGL, DirectX и игровые движки, такие как Ogre3D, могут быть слишком низкого уровня для таких задач, как рисование фигур и градиентов.
Может быть, вам стоит взглянуть на Каир, как упоминалось выше ( http://cairographics.org/ ), или просто в Qt, который имеет довольно полный и эффективный модуль рисования ( http: //qt.nokia.com/doc/4.5/examples.html#graphics-view ) и допускает рисование высокого уровня (GraphicsScene & GraphicsView) и низкого уровня (OpenGL).
Для 2D-рисования SFML предоставляет хороший API.
Ознакомьтесь с некоторыми учебниками , чтобы узнать больше.
DirectX и OpenGL - это два варианта. Они оба сложны, хотя.
Несмотря на то, что он предназначен для 3D, вы можете делать 2D-вещи с помощью Ogre3D