【问题标题】:how to extract height and width from a svg file如何从svg文件中提取高度和宽度
【发布时间】:2012-12-15 20:29:56
【问题描述】:

示例:

<svg width="23" height="22" xmlns="http://www.w3.org/2000/svg">
<!-- Created with SVG-edit - http://svg-edit.googlecode.com/ -->
<g>
<title>Layer 1</title>
<path fill-opacity="0" id="svg_1" d="m23,2-20,9.5l22,9" stroke-width="4" stroke="#000000" fill="#ffffff" />
</g>
</svg>

我想提取svg文件的宽度和高度,以便我可以用canvg做一些定位。

我知道它是 xml,但我无法弄清楚。这可能真的很容易,但这是一年中的最后一天,我想不通。

一直在尝试:

PHP SimpleXML

$xml = simplexml_load_file($imageright) or die("Error: Cannot create object");
print_r($xml->getDocNamespaces());echo '</br>';

给我 数组 ( [] => http://www.w3.org/2000/svg )

这也行不通:

foreach($xml->svg[0]->attributes() as $a => $b)
  {
  echo $a,'="',$b,"\"</br>";
  }

有什么想法吗?

【问题讨论】:

    标签: php svg height width


    【解决方案1】:

    你只需要

    $xml = simplexml_load_file($imageright);
    $attr = $xml->attributes();
    printf("%s x %s", $attr->width, $attr->height);
    

    输出

    23 x 22
    

    Simple Online Demo

    【讨论】:

    • simplexml_load_file() 会将整个 SVG 加载到内存中 - 加载甚至 1K 以读取文件早期的两个数字对我来说没有意义。
    • @NateSymer 我想相信这只是一个例子。
    猜你喜欢
    • 1970-01-01
    • 2022-01-15
    • 2011-12-22
    • 1970-01-01
    • 2016-11-04
    • 2017-12-26
    • 2016-06-15
    • 2022-08-19
    • 2011-03-24
    相关资源
    最近更新 更多