¿Es posible generar una imagen a partir de elementos dom (span, div, image, etc.)? No puedo usar el lienzo en este caso, y no tiene que ser compatible con todos los navegadores, siempre que funcione en el navegador some . :-)

¡Gracias!

edición comunitaria: "Entonces, supongo que el cliente ya puede mostrar estos elementos muy bien, pero ¿desea que el servidor pueda, por ejemplo, mostrar una imagen de vista previa en el sitio?" "Sí, exactamente. Solo una pequeña vista previa para que puedan ver qué diagrama están abriendo, y la vista previa también se usará en otros pequeños lugares".

7
Leticia Meyer 28 may. 2011 a las 19:47

3 respuestas

La mejor respuesta

Entonces, supongo que el cliente ya puede mostrar estos elementos muy bien, pero ¿desea que el servidor pueda, por ejemplo, tener una vista previa?

Sí, exactamente. Solo una pequeña vista previa para que puedan ver qué diagrama están abriendo, y la vista previa también se usará en otros pequeños lugares. - OP

Lado del cliente:

  • Estás pidiendo algo muy ... interesante. =) Es posible , porque existen soluciones de seguimiento de errores basadas en la web que permiten tomar una captura de pantalla. Por ejemplo, este aleatorio que encontré buscando en Google { {X0}} parece usar una extensión de navegador para realizar la magia.

  • También es posible que puedas realizar esta magia con Flash.

  • Alternativamente, si no incurriera en una sobrecarga importante, podría generar las "imágenes" sobre la marcha utilizando un <div style="overflow:hidden; position:relative;"> (insert all your dom elements here) </div>, pero si una sola imagen tuviera una cantidad muy, muy muy grande de elementos, esto reduciría significativamente la representación de cualquier tipo de "página de vista previa" que implementó, a menos que inserte el html en la página de uno en uno durante unos segundos; Sin embargo, la página aún podría retrasarse un poco.

Lado del servidor:

  • Sin embargo, la forma más portátil de hacer esto sería utilizar un motor de representación web del lado del servidor (preferiblemente sandbox) diseñado para ser accesible mediante programación, es decir, le permitirá tomar una captura de pantalla de la página.
2
ninjagecko 18 dic. 2017 a las 09:21

Si desea duplicarlo en otra ubicación, puede usar -moz-element, una característica experimental no estándar en Firefox que le permitirá tomar cualquier parte del DOM y usarlo como, por ejemplo, una imagen de fondo. https://developer.mozilla.org/en/CSS/-moz-element

Se pueden hacer hacks similares en webkit abusando de -webkit-box-reflect.

3
ninjagecko 28 may. 2011 a las 16:08

¿Qué pasa con el uso de un programa de captura de pantalla separado como MWSnap?

0
James Alarie 28 may. 2011 a las 16:18