Qt 的矢量图形剪贴板格式



我希望我的Qt应用程序能够以兼容的方式将简单的矢量图形保存到剪贴板。在Windows上,我希望能够将图形粘贴到Word或Powerpoint Microsoft。在Linux上,我希望与Open Office兼容。

您会推荐哪种格式?Qt能以简单的方式生成EMF吗?SVG 是一种选择吗?

更新:

我目前的计划是添加一段本机 win32 代码,以在 Windows 上将图形呈现为 emf。此代码在 Linux 上不可用。

QGraphicsView 类及其关联的帮助程序可以通过 QPicture 类(您可以为其编写 EMF 转换器)渲染为 QT 图元文件格式,通过 QSVGGenerator 类渲染为 SVG,通过 QPrinter 渲染为 postscript/pdf。 它还可以呈现为位图格式和各种其他目标。

AFAIK 它没有通用的"渲染到 EMF"工具 - 您必须写入其他内容,例如 QT 图元文件并转换为 EMF。 如果只需要图形基元的子集,则可能只需要在转换器中支持该子集。 否则你可以从SVG进入,你可以通过QSVGGenerator直接从QT获得。

我这里有一个EMF生成的PyQt QPaintEngine类:https://github.com/jeremysanders/veusz/blob/master/document/emf_export.py。它使用 pyemf 库,但我认为移植到 C++ 会相当容易。不幸的是,这些文件与OpenOffice不兼容,因为OO在EMF文件中有相当破碎的路径支持。它还将文本转换为所见即所得的路径。

相关内容

  • 没有找到相关文章

最新更新