Подтвердить что ты не робот

Кросс-платформенная библиотека рисования

Я искал хорошую кросс-платформенную 2D-графическую библиотеку, которая может быть вызвана из С++ и может быть использована для создания довольно простой геометрии; линий, прямоугольников, кругов и текста (по горизонтали и по вертикали) для некоторых диаграмм и сохранить вывод в PNG.

Я думаю, что коммерческий пакет был бы предпочтительнее с открытым исходным кодом, потому что мы предпочли бы не беспокоиться о проблемах с лицензированием (если только что-то с лицензией стиля BSD без условия кредита). Я посмотрел на Cairo Graphics, который казался многообещающим, но текстовый рендеринг выглядит как дерьмо из коробки, а модернизация текстового интерфейса приводит нас к мутной лицензии.

Мне это нужно для Windows, Mac и Linux. Предпочтительно что-то довольно легкое и простое интегрировать. Я думал о Qt, но слишком тяжел для нашего приложения.

Любые идеи об этом были бы замечательными.

4b9b3361

Ответ 1

Попробуйте Антигранитная геометрия. Из описания:

Anti-Grain Geometry (AGG) представляет собой бесплатную графическую библиотеку с открытым исходным кодом, написанную на промышленном стандарте С++. Условия использования AGG описаны на странице "Лицензия". AGG не зависит от каких-либо графических API или технологий. В принципе, вы можете думать о AGG как о механизме рендеринга, который создает пиксельные изображения в памяти из некоторых векторных данных. Но, конечно, AGG может сделать гораздо больше. Идеи и философия AGG:

  • Anti-Aliasing.
  • Точность субпикселя.
  • Максимально возможное качество.
  • Высокая производительность.
  • Независимость платформы и ее совместимость.
  • Гибкость и расширяемость.
  • Легкая конструкция.
  • Надежность и стабильность (включая численную стабильность).

Ответ 2

Другой: Skia. Используется в Android и Chrome, при активной разработке, ускорение HW.

Ответ 4

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

http://www.antigrain.com/

Ответ 6

Вы пробовали FLTK? Он легкий, кросс-платформенный, имеет поддержку 2D/3D-графики и поставляется с хорошим набором виджета (включая компонент диаграмм). API простой и прямой.

Ответ 8

Я использую CImg: кросс-платформа (автономный одиночный заголовочный файл), простой, лаконичный. PNG не поддерживается, но может быть обработан, если установлен ImageMagick (см. поддерживаемые форматы).

См. также этот связанный вопрос.

Ответ 9

Вы можете использовать Allegro 5 (поскольку упоминаются SDL и SFML). Это обеспечивает все необходимые вам платформы (и многое другое) и может отображать формы и сохранять в PNG. Версия 5 значительно улучшила API и аппаратное ускорение. С любой из этих низкоуровневых кросс-платформенных библиотек вам нужно будет найти свое собственное решение для построения диаграмм.

Я положил несколько заметок в мой блог об Allegro и использовал его на Mac.

Ответ 11

Я бы пошел на AGG или в Каир.