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 文件不显示图像。

如果您右键单击并使用浏览器(即 Firefox)打开 .SVG 文件,图像就可以了。但是,再一次,通过 php 页面,图像丢失了。解决方案:编辑 .SVG 文件(这是 XML)以更改路径。在原始 .SVG 文件上,我们必须: 在修改后的 .SVG 文件上,我们必须:

PS:我正在做我的硕士论文,所以这是针对一个特定的问题,但我仍然希望它对某人有所帮助。

于 2011-01-11T11:09:54.933 回答