Pergunta

A documentação para getBoundingBox () no dojo diz:

Retorna uma caixa delimitadora de uma forma. UMA forma texto é um objeto baseado em pontos, por isso, ele não define uma caixa delimitadora.

Eu não entendo. Qualquer implementação sane de gráficos de vetor para a web inclui caixa delimitadora para objetos de texto (raphaelJS e jQuery SVG que é)! Aqui, o que significa "um objeto com base ponto" significa?

Eu não encontrei nenhuma referência para uma caixa delimitadora para o objeto Group, mas quando se utiliza a versão mais recente do Dojo, getBoundingbox retornos null para Grupos bem

Eu posso facilmente fazer caixa delimitadora para o retângulo mim mesmo, mas as formas só é realmente problemáticos eu preciso caixa delimitadora para são o Grupo eo texto.

I terminou Hotpatching dojo como:

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

O que, evidentemente, trabalhar apenas para o front-end de saída SVG.

Mas eu me pergunto, estou faltando alguma coisa? Existe uma maneira melhor de fazer isso?

Foi útil?

Solução

Eu não encontrei nenhuma referência para uma caixa delimitadora para o objeto Group, mas quando se utiliza a versão mais recente do Dojo, getBoundingbox retorna nulo para Grupos bem

É este o problema relacionado com a este bug correção ? Parece que para mim. Foi Changed 7 months ago by pruzand e marcado como fixo

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

Atualização 2012-07-24: Eu transferi liberação-1.8.0rc1 localmente e configurar o mesma testar no ticket resolvido. Este fato foi fixado em 1,8 e getBoundingBox retornando null em grupos é resolvido como indicado no bilhete. O script de teste com sucesso retornos:

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

Também para o que vale a pena de, de acordo com twitter pós , 1,8 é devido a ser lançado em uma semana ou duas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top