Necesito encontrar los límites xey visibles de un objeto que se ha recortado, de modo que pueda colocar otros objetos a su alrededor. Sin embargo, el spec indica que getBBox
no tiene en cuenta las rutas de clip, por lo que no puedo usar el cuadro delimitador. ¿Alguna idea de cómo puedo encontrar los límites de visualización para un objeto recortado?Obtener un cuadro delimitador de "visualización" para un objeto recortado
6
A
Respuesta
7
Crea un elemento <use>
oculto que hace referencia a la ruta en clipPath y obtiene el cuadro delimitador de eso. Entonces solo quieres la intersección del cuadro delimitador de tu objeto y el objeto de uso.
<defs>
<clipPath id="clipPath">
<path id="path" ...>
</clipPath>
</defs>
<use id="clipPathBounds" visibility="hidden" xlink:href="#path"/>
Cuestiones relacionadas
- 1. Recuperar cuadro delimitador de un objeto multipolígono geodjango
- 2. Cuadro delimitador 2D de un sector?
- 3. Obtener la altura completa de un DIV recortado
- 4. Obteniendo el verdadero cuadro delimitador visual de un elemento WPF?
- 5. ¿Por qué un control dibuja fuera de su cuadro delimitador?
- 6. ¿Hay alguna forma de obtener el cuadro delimitador (en píxeles) de un elemento DOM?
- 7. buscando el cuadro delimitador de texto trazado
- 8. ¿Cuál es la forma correcta de obtener un cuadro delimitador para los elementos HTML relativos a la ventana?
- 9. ¿Cómo configuro el valor de un cuadro de texto usando un delimitador con jQuery?
- 10. obtener las coordenadas de un rectángulo delimitador de FrameworkElement
- 11. Actionscript 3: obtener objeto de visualización en el píxel
- 12. R/GIS: ¿Cómo subconjuntar un shapefile por un cuadro delimitador de latitud larga?
- 13. Obtener el texto de un cuadro desplegable
- 14. Cuadro delimitador estrecho alrededor de PDF de MATLAB figura
- 15. Medir el cuadro delimitador del nodo de texto en Javascript
- 16. ¿Cómo puedo mostrar el cuadro delimitador para un CCNode en cocos2d?
- 17. texto itext multiline en cuadro delimitador
- 18. hace addChild ActionScript requiere un objeto de visualización primera
- 19. Obtención de los valores del cuadro delimitador de trama()
- 20. ¿Cómo puedo obtener un objeto HDC de un objeto CDC?
- 21. Visualización de un DAG
- 22. Eliminar usando un delimitador diferente
- 23. Manipulando/traduciendo <text> en SVG (agregando un cuadro delimitador)
- 24. WPF valor de cuadro combinado y visualización de texto
- 25. Obtener la función de Python para un objeto de código
- 26. ¿Cómo obtener la vista actual del mapa fuera de OpenLayers como geometría, cuadro delimitador o wkt?
- 27. Cómo encontrar el punto más alejado de un conjunto determinado y su cuadro delimitador
- 28. Cómo calcular el cuadro delimitador de geografía en iOS?
- 29. Django. Obtener valores para todos los campos de un objeto
- 30. Cómo obtener el classOf para un tipo de objeto scala
Tenía la esperanza de encontrar algo más lateral que esto; calcular una intersección es, en general, difícil. Encontré un intercambio largo en la lista de SVG sobre esto hace un par de días, pero desafortunadamente no puedo encontrarlo en este momento. – EML
Calcular la intersección de dos rectángulos es fácil. result.x = max (x, aRect.x); result.y = max (y, aRect.y); result.width = min (XMost(), aRect.XMost()) - result.x; result.height = min (YMost(), aRect.YMost()) - result.y; si (result.width <0 || result.height <0) { no se cortan en toda } Dónde XMost() = + rect.x rect.height etc –
Es cierto, pero un camino clip se puede completamente general. Intenta calcular la intersección de un Bezier arbitrario con cualquier otra cosa. Incluso si solo quieres un resultado rectangular, como yo lo hago, entonces no es trivial. Tiene que ser hecho por el renderizador en general, para clasificar los detalles de nivel de píxel, pero SVG no parece definir ninguna forma de hacerlo. – EML