Question

Je souhaite que mon application Qt puisse enregistrer des graphiques vectoriels simples dans le Presse-papiers de manière compatible. Sur Windows, je veux pouvoir coller les graphiques dans Microsoft Word ou Powerpoint. Sous Linux, je veux être compatible avec Open Office.

Quel format recommanderiez-vous? Qt peut-il générer des CEM de manière simple? Le SVG est-il une option?

Mise à jour:

Mon plan actuel consiste à ajouter un morceau de code win32 natif pour rendre les graphiques au format emf sous Windows. Ce code ne sera pas disponible sur Linux.

Était-ce utile?

La solution

La classe QGraphicsView et ses assistants associés peuvent être convertis en métafichier QT. formater via la classe QPicture (pour laquelle vous pouvez écrire un traducteur pour EMF) , en SVG via la classe QSVGGenerator et en postscript / pdf via QPrinter . Il peut également rendre les formats bitmap et diverses autres cibles.

Autant que je sache, il n’a pas de fonction générique de "rendu au format EMF" - vous devez écrire dans un fichier autre que le métafichier QT et le convertir en fichier EMF. Si vous n'avez besoin que d'un sous-ensemble des primitives graphiques, il vous suffira peut-être de prendre en charge ce sous-ensemble dans le traducteur. Sinon, vous pouvez passer de SVG à QT via QSVGGenerator.

Autres conseils

J'ai ici une classe PyQt QPaintEngine génératrice de CEM: https: / /github.com/jeremysanders/veusz/blob/master/document/emf_export.py . Il utilise la bibliothèque pyemf, mais je pense qu’il serait assez facile de porter en C ++. Malheureusement, les fichiers ne sont pas compatibles avec OpenOffice car OO supporte mal les chemins dans les fichiers EMF. Il convertit également le texte en chemins pour WYSIWYG.

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