Question

Je recherchais une bonne bibliothèque de dessins 2D inter-plateformes pouvant être appelée à partir de C ++ et pouvant être utilisée pour dessiner une géométrie assez simple. lignes, des rectangles, des cercles et du texte (horizontal et vertical) pour certains graphiques et enregistrez la sortie au format PNG.

Je pense qu'un paquet commercial serait préférable à l'open source, car nous préférerions ne pas avoir à nous soucier des problèmes de licence (sauf s'il existe une licence de type BSD sans clause de crédit). J'ai regardé Cairo Graphics qui semblait prometteur, mais le rendu du texte a tout l'air d'être une foutaise, et la mise à niveau du back-end du texte nous amène sur un terrain de licence trouble.

J'en ai besoin pour Windows, Mac et Linux. De préférence, quelque chose d'assez léger et simple à intégrer. J'ai pensé à Qt mais c'est beaucoup trop lourd pour notre application.

Toutes les idées à ce sujet seraient géniales.

Était-ce utile?

La solution

Essayez Géométrie anti-grain . De la description:

  

La géométrie anti-grain (AGG) est une bibliothèque graphique gratuite et à code source ouvert, écrite en C ++ standard. Les conditions d'utilisation AGG sont décrites sur la page de licence. AGG ne dépend d'aucune API graphique ou technologie. Fondamentalement, vous pouvez penser à AGG comme à un moteur de rendu qui produit des images de pixels en mémoire à partir de certaines données vectorielles. Mais bien sûr, AGG peut faire beaucoup plus que cela. Les idées et la philosophie d’AGG sont les suivantes:

  • Anti-aliasing.
  • Précision du sous-pixel.
  • La plus haute qualité possible.
  • Haute performance.
  • Indépendance et compatibilité de la plate-forme.
  • Flexibilité et extensibilité.
  • Conception légère.
  • Fiabilité et stabilité (y compris la stabilité numérique).

Autres conseils

Un autre exemple: Skia . Utilisé sous Android et Chrome, en développement actif, accélération matérielle.

Consultez SFML . C'est open source mais la licence est très permissive.

Dessiner des formes simples
Affichage du texte

Antigrain effectue un rendu primitif de haute qualité et semble être en mesure de restituer les polices True Type. Il dispose également d’une licence commerciale sur demande.

http://www.antigrain.com/

Avez-vous essayé FLTK ? Il est léger, multiplate-forme, prend en charge les graphiques 2D / 3D et est livré avec un bon ensemble de widgets (y compris un composant graphique). L'API est simple et directe.

Il existe également un libgd - simple, mais bien écrit.

En ce qui concerne Cairo Graphics , je ne peux pas y croire rend le texte qui semble mauvais. Si vous êtes particulièrement préoccupé par le rendu du texte, État du rendu du texte de janvier 2010 donne une bonne vue d'ensemble.

J'utilise CImg : multiplate-forme (fichier à en-tête unique et autonome), simple, concis. Le format PNG n'est pas pris en charge en mode natif, mais il peut être géré si ImageMagick est installé (voir formats pris en charge ). .

Voir aussi cette question connexe .

Vous pouvez utiliser Allegro 5 (car SDL et SFML sont mentionnés). Cela fournit toutes les plates-formes dont vous avez besoin (et plus) et permet de restituer des formes et de les enregistrer au format PNG. La version 5 dispose d'une API et d'une accélération matérielle nettement améliorées. Avec l'une de ces bibliothèques multi-plateformes de bas niveau, vous devez trouver votre propre solution de création de graphiques.

J'ai mis des notes sur Allegro et sur leur utilisation sur le blog. Mac.

Je choisirais AGG ou Cairo.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top