Una forma sencilla de obtener un screenshot de casi cualquier elemento dentro de un objeto Silverlight, es utilizar la clase WriteableBitmap, y usar el método Render que recibe como parámetro un objeto que derive de UIElement, es por eso que virtualmente se le puede sacar la instantánea a cualquier elemento, con unas pocas líneas de código, como las siguientes:
public Image GetImageFromUIElement(UIElement uiElement) { WriteableBitmap bm = new WriteableBitmap((int)uiElement.RenderSize.Width, (int)uiElement.RenderSize.Height); bm.Render(container, new MatrixTransform()); bm.Invalidate(); Image im = new Image(); im.Source = bm; return im; }La clase WriteableBitmap, puede ser usada como fuente de datos para un objeto Image y asi mostrarlo en pantalla o guardarlo en un archivo.Se me ocurren algunas interesantes aplicaciones como:
- Un método Helper para guardar instantáneas de tu aplicación, en el momento exacto en que
truenaocurre un fallo inesperado y asi complementar las explicaciones de los usuarios, tales como, “La aplicación falló cuando la estaba utilizando” - Obtener thumbnails de Videos.
- Etc.
Espero encuentren un buen uso a esta clase y me pasen el tip
Happy Coding!
Happy Coding!
0 comentarios:
Publicar un comentario