Библиотека графического рисования С++

Кто-нибудь знает, какая лучшая библиотека графического рисования для С++, я хочу, чтобы lib, который может рисовать основные фигуры, и может сделать редактирование изображений, градиенты и вектор или 3D, было бы здорово.

Функции рисования окон сложны и не очень продвинуты.

Ответы

Ответ 1

Могу ли я предложить использовать Cairo?

Эта векторная библиотека очень быстрая, многословная и мощная! Просто посмотрите на красивые примеры!

Там даже интеграция с OpenGL, если вам нужны векторизованные 3D-текстуры!

Ответ 2

Я тестировал AGG, Cairo, GDI + и Quartz (для Mac).

Я думаю, что Quartz является лучшим, но доступен (пока я знаю) только для Mac.

AGG является мощным, но недостаточно документирован. Разработчик решил изобрести колесо и сделал свою собственную систему документов, вместо того, чтобы использовать что-то стандартное, например doxygen. Есть хорошие учебные пособия для базового понимания, но когда вы копаете глубже, вы обнаруживаете, что документация API отсутствует, неточна или неполна.

GDI + довольно простой по сравнению с другими и доступен только для Windows.

В результате я считаю, что лучшим выбором является, пожалуй, Каир (если только вы не можете выбрать для Mac только). Он хорошо документирован, код чист, и он быстрый и мощный.

Ответ 3

Отъезд Библиотека CImg.

CImg означает "Cool Image": это просты в использовании и эффективны. Это очень приятный инструмент для кодирования изображения обработки на С++ и потенциально охватывает широкий спектр приложения для обработки изображений.

Ответ 4

Графические библиотеки OpenGL, DirectX и игровые движки, такие как Ogre3D, могут быть слишком низкими для задач, таких как рисование фигур и градиентов.

Возможно, вам стоит взглянуть на Каир, как указано выше (http://cairographics.org/), или просто в Qt, который имеет довольно полный и эффективный модуль рисования (http://qt.nokia.com/doc/4.5/examples.html#graphics-view) и позволяет рисовать графики высокого уровня (GraphicsScene и GraphicsView) и низкого уровня (OpenGL).

Ответ 5

Для 2D-чертежа SFML предоставляет хороший API.

Подробнее о tutorials см. в разделе.

Ответ 6

DirectX и OpenGL - это два варианта. Они оба сложны, хотя.

Ответ 7

Хотя для 3D можно использовать 2D-материал с Ogre3D