Ela*_*ich 65 dojo svg vector-graphics dojox.gfx
dojo中getBoundingBox()的文档说:
返回形状的边界框.文本形状是基于点的对象,因此它不定义边界框.
我不明白.Web的矢量图形的任何理智的实现包括文本对象的边界框(raphaelJS和jQuery SVG)!在这里,"基于点的对象"是什么意思?
我没有找到Group对象的边界框的引用,但是在使用最新的Dojo版本时,也getBoundingbox返回null了Groups的组
我自己可以很容易地为矩形做边界框,但是我需要边界框的唯一真正有问题的形状是Group和Text.
我结束了hotpatching dojo,如:
dojox.gfx.Text.prototype.getBoundingBox = function() { return this.rawNode.getBBox();});
dojox.gfx.Group.prototype.getBoundingBox = function() { return this.rawNode.getBBox();});
Run Code Online (Sandbox Code Playgroud)
哪个当然只适用于SVG输出前端.
但我想知道,我错过了什么吗?有没有更好的方法呢?
我没有找到 Group 对象的边界框的引用,但是当使用最新的 Dojo 版本时,getBoundingbox 也会为 Groups 返回 null
这个问题与此错误修复有关吗?对我来说听起来很像。它已Changed 7 months ago by pruzand被标记为固定
http://bugs.dojotoolkit.org/ticket/7019
2012-07-24 更新:我在本地下载了release-1.8.0rc1,并在已解决的票证中设置了相同的测试。这确实已在 1.8 中得到修复,并且 getBoundingBox 在组上返回 null 的问题已按照票证中所述得到解决。测试脚本成功返回:
bbox of group: {"x":0,"y":2,"endX":238,"endY":379,"width":238,"height":377}
transformed bbox: [{"x":277.7302117816355,"y":152.5448441073243},{"x":512.114456998541,"y":193.87311039205372},{"x":446.64909401810826,"y":565.1456332776561},{"x":212.26484880120276,"y":523.8173669929267}]
Run Code Online (Sandbox Code Playgroud)
另外,根据这篇 Twitter 文章,1.8 版预计将在一两周内发布。
| 归档时间: |
|
| 查看次数: |
2256 次 |
| 最近记录: |