mxGraph,将XML文件转换为PNG以导出图像的php代码

时间:2019-01-24 11:01:42

标签: php xml-parsing mxgraph

我正在尝试使用PHP从mxGraph导出图像文件(PNG)。 我已成功将图形的XML字符串发送到PHP文件,并且可以使用mxUtils :: parseXml();来解析XML。库命令。 我收到的输出仍然无法读取。这是一个图像文件,但内部没有任何内容。 你能帮助我吗? 这是我正在使用的php代码:

$xml = mxUtils::readFile("graphmodel.xml");
$doc = mxUtils::parseXml($xml);

$model = new mxGraphModel();
$graph = new mxGraph($model);

$codec = new mxCodec($doc);
$codec->decode($doc->documentElement, $graph->model);

$image = $graph->createImage(null, "#FFFFFF");

imageInterlace($image, 1);
imageColorTransparent($image, imageColorAllocate($image, 255, 255, 255));

header("Content-Type: image/png");

echo mxUtils::encodeImage($image, 'png');

我不知道问题出在哪里。 这是我上传的XML文件:

<mxGraphModel dx="876" dy="502" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="2" value="CIAO" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="20" y="20" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="4" value="Bella" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="250" y="20" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="5" value="" style="endArrow=classic;startArrow=classic;html=1;entryX=0;entryY=0.5;exitX=1;exitY=0.5;" edge="1" parent="1" source="2" target="4">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="20" y="150" as="sourcePoint"/>
<mxPoint x="70" y="100" as="targetPoint"/>
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>

感谢您能给我任何帮助!

0 个答案:

没有答案