我的配置是:
- Windows Vista
- XAMPP 1.7.1
- 媒体维基+语义MW
- 使用Graphviz创建SVG的扩展程序
- Graphviz 2.26.3(安装目录c:\ graphviz .....)
一切正常但问题是:xml标签
'image xlink:href =“some_image.png”....'
在使用Media Wiki php页面创建的SVG文件中缺少。
这是通过以下方式完成的:
$ cmdlinesvg = wfEscapeShellArg($ cmd)。' -T svg'.wfEscapeShellArg($ src)。' -o'.wfEscapeShellArg($ svg);
$ WshShell =新COM(“WScript.Shell”);
$ WshShell-> Exec的($ cmdlinesvg);
我创建了一个执行相同命令行的批处理文件:
c:\ graphviz2.26.3 \ bin \ dot.exe -T svg filename.dot -o filename.svg
如果我手动运行它就可以了,并且会出现xml标记。
任何人都知道这是什么问题?提前谢谢。
答案 0 :(得分:2)
解决
问题与.DOT文件中的图像路径有关。
如果手动运行命令行,则图像路径不必是完整路径。 你只能:shapefile =“some_image.png”
如果在php代码中运行命令,则图像路径必须是完整路径。 所以你必须:shapefile =“C:\ xampp ...... \ some_image.png”
出现另一个问题:生成的.SVG文件不显示图像。
如果右键单击并使用浏览器(即Firefox)打开.SVG文件,则图像正常。 但是,再一次,通过php页面,图像丢失了。 解决方案:编辑.SVG文件(这是XML)以更改路径。 在原始的.SVG文件中,我们有: 在修改后的.SVG文件中,我们必须:
PS:我正在做我的硕士论文,所以这是针对一个特定的问题,但我希望它能帮到某个人。