0

私の設定は次のとおりです。
- Windows Vista
- XAMPP 1.7.1
- Media Wiki + Semantic MW
- Graphviz を使用して SVG を作成する拡張機能
- Graphviz 2.26.3 (インストール ディレクトリ c:\graphviz.....)

すべて正常に動作しますが、問題は次のとおりです。Media Wiki php ページを使用して作成された SVG ファイルに xml タグ
'image xlink:href="some_image.png"....'がありません。

これは
$cmdlinesvg = wfEscapeShellArg($cmd).'によって行われます。-T svg '.wfEscapeShellArg($src).' -o '.wfEscapeShellArg($svg);
$WshShell = new COM("WScript.Shell");
$WshShell->Exec($cmdlinesvg);

同じコマンド ラインを実行するバッチ ファイルを作成しました。

c:\graphviz2.26.3\bin\dot.exe -T svg ファイル名.dot -o ファイル名.svg

手動で実行すると動作し、xml タグが表示されます。

誰が問題が何であるか知っていますか?前もって感謝します。

4

1 に答える 1

2

解決済み

この問題は、.DOTファイルにある画像パスに関連しています。

コマンドラインを手動で実行する場合、イメージパスはフルパスである必要はありません。持つことができるのは:shapefile = "some_image.png"

phpコード内でコマンドを実行する場合、画像パスはフルパスである必要があります。したがって、次のものが必要です:shapefile = "C:\ xampp ...... \ some_image.png"

別の問題が発生します。結果の.SVGファイルに画像が表示されません。

右クリックして.SVGファイルをブラウザ(Firefoxなど)で開くと、画像に問題はありません。しかし、繰り返しになりますが、phpページを介して、画像は失われます。解決策:.SVGファイル(これはXMLです)を編集してパスを変更します。元の.SVGファイルには次のものがあります。変更された.SVGファイルには次のものが必要です。

PS:私は修士論文を書いているので、これは特定の問題のためですが、それでも誰かに役立つことを願っています。

于 2011-01-11T11:09:54.933 に答える