¿Cómo puedo obtener la posición de un objeto en Raphael? Puedo obtener el tamaño usando getBBox(), pero parece que no hay forma de obtener el puesto.Raphael Position
Respuesta
Dependiendo de qué tipo de forma sea, la documentación parece indicar que se puede acceder utilizando la función .attr()
. Por lo tanto, si se trata de un círculo ...
var x = myCircle.attr('cx'); //cx is the center-x-coordinate of the circle
var y = myCircle.attr('cy'); //same, for y
var r = myCircle.attr('r'); //Radius of circle.
Un cuadrado tendría attr
s de x, y, ancho, altura. Verifique la documentación para más información.
el.getBBox es el enfoque correcto. Por favor, mira la respuesta de Dmitry. – jbeard4
getBBox() debería darle la posición, así como las propiedades x e y.
var bbox = el.getBBox();
alert([bbox.x, bbox.y]);
gracias, pero sería genial si pudiera agregar esos consejos en la documentación de raphaeljs. – Mermoz
Está en la documentación de Rafael –
también puede acceder a la valores x e y de esta manera:
var x = myCircle.attrs.x;
var y = myCircle.attrs.y
getBBox() Devuelve un objeto con 5 propiedades. que son:
- x
- y
- ancho
- altura
- toString()
si establece getBBox (falso) devolverá datos de las coordenadas de la posición del objeto DESPUÉS de una transformación. configurarlo para getBBox (verdadero) para devolver las coordenadas del objeto antes de la transformación
uso como esto ...
paper.Raphael(10,10,300,300);
circle.paper(30, 55, 15);
var circleBBox = circle.getBBox(false);
editar: acaba de descargar R 2.1 y creo que ha añadido x2 e y2 a la propiedades devueltas por getBBox()
atributos x, y son aquellos dentro del conjunto. El problema aquí es que si el conjunto se traduce a otro lugar, las xey proporcionadas por .getBBOx() no tienen en cuenta la traducción.
Raphael.transformPath (path, transformar) puede ayudar mediante la aplicación de la misma se transforma de que el conjunto tiene ...
de traducir ese punto se puede:
tp = Raphael.transformPath("M"+x+","+y, set.attr('transform'))
x = tp[0][1]
y = tp[0][2]
- 1. Diferencia entre style = "position: absolute" y style = "position: relative"
- 2. ListView get scroll position?
- 3. UINavigationItem titleView position
- 4. jquery validate position
- 5. Android Button Position Programmatically
- 6. vb.net checkbox label position
- 7. android dialog activity position
- 8. Editable Div Caret Position
- 9. JavaScript caret position
- 10. NSString character position
- 11. Raphael JS - .text animado()
- 12. Conectando Raphael con Rails
- 13. Animación: jQuery o Raphael?
- 14. animando caminos con raphael
- 15. Raphael JS
- 16. css background-position no funciona
- 17. Ext JS Message Box Position
- 18. SVG posicionamiento como position: absolute
- 19. HTML 5 Audio Current Position
- 20. Cómo establecer background-position-x?
- 21. Configuración de MonoTouch.Dialog UITableView position?
- 22. Excel VBA Regex Match Position
- 23. Font-face, Raphael e IE8
- 24. Raphael JS redimensiona el lienzo
- 25. Use Raphael para manipular SVG
- 26. Raphael lienzo (fondo) onclick evento
- 27. Escalar varias rutas con raphael
- 28. Raphael JS: cómo eliminar eventos?
- 29. ¿Cómo usar eve() en Raphael?
- 30. save jquery ui-sortable position to DB
El problema puede ser primero una definición de "posición" de un objeto. Si se refiere al "centro de gravedad" del objeto, eso debe calcularse actualmente mediante el código de la aplicación, ya que depende del tipo de objeto. En este momento, parece que no hay un código de biblioteca para obtener el centro de formas comunes. Para formas arbitrarias, supongo que puede necesitar ser definido en el nivel de aplicación de todos modos, y el cuadro delimitador permite calcularlo. Si por posición te refieres a la posición clásica de la esquina superior izquierda, los atributos del cuadro delimitador (x, y) son el resultado, como se mencionó en @b_dubb. –