我正在编写一个符号识别服务,希望将其扩展为完整的公式识别。这样,用户可以编写公式并获得LaTeX格式的输出。当用户完成编写时,我会将编写的内容作为SVG存储在模板中。
这是通过
(请参见没有居中的旧模板示例)
现在我有一些JavaScript代码,允许用户对公式进行分段。但是当SVG使用viewBox / preserveAspectRatio自我居中时,需要调整此代码。
如何获取必要的值(平移和缩放因子)来调整我的代码?
(我发现
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
version="1.1"
width="400"
height="400"
xml:space="preserve"
viewBox="0 0 {{ width }} {{ height }}"
preserveAspectRatio="xMidYMid meet">
{{ path }}
{{ dots }}
</svg>
这是通过
包含的内容
。<object data="123456.svg"
type="image/svg+xml"
id="canvas"
style="width:400px;height:400px;border:1px solid black;"></object>
(请参见没有居中的旧模板示例)
现在我有一些JavaScript代码,允许用户对公式进行分段。但是当SVG使用viewBox / preserveAspectRatio自我居中时,需要调整此代码。
如何获取必要的值(平移和缩放因子)来调整我的代码?
(我发现
MDN SVG Svg DOM接口
,但是当我在对象标记中包含svg时,似乎无法工作。我不能将svg包含在图像标记中,因为我需要处理SVG内容。)
getContainedPaths()
函数,如果您调用paths[i].getBBox()
,您可能会发现返回结果很有用。 :) - Paul LeBeau