65 votes

dojox.GFX englobant pour les nœuds de texte et de groupe

La documentation pour getBoundingBox() dans le dojo dit:

Renvoie une matrice de la forme. Un forme texte est un point de base de l'objet, alors il ne définit pas d'une boîte englobante.

Je n'ai pas l'obtenir. Toute sane mise en œuvre de graphiques de vecteur pour le web comprend une boîte englobante pour les objets de texte (raphaelJS et jQuery SVG qui est)! Ici, ce n'est "un objet"?

Je n'ai pas trouvé de référence pour une boîte englobante de l'objet du Groupe, mais lors de l'utilisation de la dernière version de Dojo, getBoundingbox retours null pour les Groupes

Je peux facilement faire de la boîte englobante de rectangle moi-même, mais la seule vraiment problématique des formes j'ai besoin de la boîte englobante pour le Groupe et le Texte.

J'ai fini la mise à jour à chaud dojo comme:

dojox.gfx.Text.prototype.getBoundingBox = function() { return this.rawNode.getBBox();});
dojox.gfx.Group.prototype.getBoundingBox = function() { return this.rawNode.getBBox();});

Qui bien sûr ne travailler que pour la sortie SVG avant la fin.

Mais je me demande, suis-je raté quelque chose? Est-il une meilleure façon de le faire?

2voto

Anthony Hatzopoulos Points 4468

Je n'ai pas trouvé de référence pour une boîte englobante de l'objet du Groupe, mais lors de l'utilisation de la dernière version de Dojo, getBoundingbox renvoie la valeur null pour les Groupes

Ce problème est-il lié à ce bug fix? Des sons comme ça pour moi. Il a été Changed 7 months ago by pruzand et marqué comme fixe

http://bugs.dojotoolkit.org/ticket/7019

Mise à jour 2012-07-24: j'ai téléchargé la libération-1.8.0rc1 localement et à l'installation de la même test dans l'résolu billet. Ce dernier a en effet été fixé à 1,8 et getBoundingBox retourner null sur les groupes est résolu comme indiqué dans le billet. Le script de test renvoie:

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}]

Aussi pour ce que ça vaut, selon ce post twitter, la 1.8 est due à être libéré dans une semaine ou deux.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X