相关疑难解决方法(0)

如何计算getBBox()SVGRect?

我有一个g包含一个或多个path元素的元素.正如我在另一个问题中提到的,我g通过计算transform属性来缩放和转换元素,以便它适合画布另一部分的网格.

使用两个矩形之间的差异来完成计算,getBBox()g元素和网格周围的矩形.

这是一个问题 - 在我进行转换之后,我更新g元素的内容并getBBox()再次调用,而不删除transform.生成的矩形似乎是在不考虑的情况下计算出来的transform.我原以为它会反映这种变化.这种行为是否与SVG规范一致?如何获取变换矩形的边界框?

BTW,这是在Firefox 4中运行的HTML 5文档,如果这有任何区别的话.

更新:显然这种行为似乎很明显违反了规范.从w3c的文字:

SVGRect getBBox()

返回当前用户空间中的紧束缚框(即,在应用'transform'属性后,如果有的话)在所有包含的图形元素的几何上,不包括描边,剪切,蒙版和滤镜效果).请注意,getBBox必须在调用方法时返回实际的边界框,即使元素尚未呈现.

我读得对吗?如果是这样,这似乎是Firefox使用的SVG实现中的勘误表; 我没有机会尝试任何其他的.如果有人能指出我在哪里,我会提交错误报告.

svg

38
推荐指数
3
解决办法
5万
查看次数

标签 统计

svg ×1