文本和组节点的dojox.gfx边界框
dojo中的getBoundingBox()的文档说:
返回形状的边界框。 文字形状是一个基于点的对象,所以它没有定义一个边界框。
我不明白。 为web的vectorgraphics的任何理智的实现包括文本对象的边框(raphaelJS和jQuery的SVG)! 这里,“基于点的对象”是什么意思?
我没有发现Group对象的边界框的引用,但是当使用最新的Dojo版本时, getBoundingbox
对Groups也返回null
我可以很容易地为矩形自己做边界框,但唯一真正有问题的形状我需要边界框是组和文本。
我结束了hotdojo dojo:
dojox.gfx.Text.prototype.getBoundingBox = function() { return this.rawNode.getBBox();}); dojox.gfx.Group.prototype.getBoundingBox = function() { return this.rawNode.getBBox();});
这当然只适用于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 ,并在已解决的故障单中设置了相同的testing 。 这确实已经在1.8中得到了解决,getBoundingBox在组中的返回值为null,如票据中所述。 testing脚本成功返回:
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}]
根据这个twitterpost ,1.8版本也将在一两个星期内发布。