2009-10-23 11 views
65

La documentazione per getBoundingBox() in dojo dice:dojox.gfx riquadro per il testo e del Gruppo nodi

Restituisce un rettangolo di selezione di una forma. Una forma di testo è un oggetto basato su punti, pertanto non definisce una casella di delimitazione.

Non capisco. Qualsiasi implementazione sana della grafica vettoriale per il Web include un riquadro di delimitazione per gli oggetti di testo (raphaelJS e jQuery SVG)! Qui, cosa significa "un oggetto basato su punti"?

ho trovato alcun riferimento a un riquadro per oggetto Gruppo, ma quando si utilizza l'ultima versione Dojo, getBoundingbox rendimenti null per gruppi oltre

posso facilmente fare riquadro per rettangolo di me stesso, ma l'unica davvero problematico le forme che mi servono per il bounding box sono il gruppo e il testo.

ho finito patch a caldo dojo come:

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

che sarà del lavoro del corso solo per il front-end di uscita in formato SVG.

Ma mi chiedo, mi manca qualcosa? C'è un modo migliore per farlo?

+1

Beh, sono un noob ... ma nel testo SVG non è solo un oggetto basato su punti..http: //srufaculty.sru.edu/david.dailey/svg/getCTM.svg o I din ' t capisco il problema – Alex

+1

dojox.gfx non è solo SVG. È una normalizzazione dei motori gfx cross-browser disponibili (svg || vml || silverlight || etc) ... Se un riproduttore non può "fare qualcosa", probabilmente non lo ha fatto nell'API "normalizzata" che è dojox.gfx (un'altra cosa che mi viene in mente che ho colpito personalmente è più fermate sui gradienti, che afaik VML non gestisce ma SVG fa abbastanza bene) – dante

risposta

2

ho trovato alcun riferimento a un riquadro per oggetto Gruppo, ma quando si utilizza l'ultima versione Dojo, getBoundingbox restituisce NULL per gruppi oltre

È questo il problema legato al this bug fix? Mi sembra simpatico. Era Changed 7 months ago by pruzand e contrassegnato come fisso

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

Aggiornamento 2012-07-24: Ho scaricato release-1.8.0rc1 a livello locale e la configurazione del same test nel biglietto risolto. Questo infatti è stato corretto in 1.8 e getBoundingBox restituendo null su gruppi è stato risolto come indicato nel ticket. Lo script di test restituisce con successo:

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

Anche per quel che vale, secondo this twitter post, 1.8 dovrebbe essere rilasciato in una settimana o due.

+0

Suoni giusti, non è successo quando ho chiesto per la prima volta la domanda. Stai attento a verificare che funzioni davvero? –

+0

Appena verificato che funziona davvero. –

Problemi correlati