7

Qtアプリケーションで、互換性のある方法で単純なベクターグラフィックをクリップボードに保存できるようにしたいと思います。Windowsでは、グラフィックをMicrosoftWordまたはPowerpointに貼り付けられるようにしたいと思います。Linuxでは、OpenOfficeと互換性があります。

どのフォーマットをお勧めしますか?Qtは簡単な方法でEMFを生成できますか?SVGはオプションですか?

アップデート:

私の現在の計画は、ネイティブのwin32コードを追加して、Windows上のemfにグラフィックをレンダリングすることです。このコードはLinuxでは利用できません。

4

2 に答える 2

4

QGraphicsViewクラスとそれに関連するヘルパーは、 QPictureクラス (EMF へのトランスレーターを作成できます)を介して QT メタファイル形式に、QSVGGeneratorクラスを介して SVG に、QPrinterを介して postscript/pdf にレンダリングできます。また、ビットマップ形式やその他のさまざまなターゲットにレンダリングすることもできます。

私の知る限り、一般的な「EMFへのレンダリング」機能はありません-QTメタファイルなどの他のものに書き込んでEMFに変換する必要があります。グラフィックス プリミティブのサブセットのみが必要な場合は、トランスレータでそのサブセットをサポートするだけでよい場合があります。それ以外の場合は、QSVGGenerator を介して QT から直接取得できる SVG から移動できます。

于 2008-10-26T22:00:20.737 に答える
3

ここにEMFを生成するPyQtQPaintEngineクラスがあります:https ://github.com/jeremysanders/veusz/blob/master/document/emf_export.py 。pyemfライブラリを使用していますが、C++への移植はかなり簡単だと思います。残念ながら、OOはEMFファイルでパスのサポートがかなり壊れているため、ファイルはOpenOfficeと互換性がありません。また、テキストをWYSIWYGのパスに変換します。

于 2011-06-29T13:57:01.783 に答える