Los screenshots (capturas de pantalla), como su nombre lo indica son fotos que se toman a la pantalla de nuestro dispositivo y nos permiten capturar exactamente el escenario que queremos en una aplicación. En este caso, ¡aprenderemos cómo implementarlo en nuestras aplicaciones .NET MAUI de una manera súper fácil!
¡Empecemos!
Para tomar capturas de pantalla, .NET MAUI nos brinda la interfaz ISscreenshot
que se expone a través de la propiedad Screenshot.Default
la cual está disponible en el espacio de nombres Microsoft.Maui.Media
.
📸 Capturando el Screenshot
Hay una propiedad que nos ayuda a confirmar que nuestro dispositivo soporta esta funcionalidad:
🔹 IsCaptureSupported: Devuelve un valor bool – Obtiene un valor que indica si se admiten las capturas de pantalla.
Pero también tenemos el método que tiene la mayor responsabilidad de hacer que todo esto suceda:
🔹 CaptureAsync: Devuelve un ISscreenshotResult
. – Es responsable de capturar el screenshot de la aplicación actual. Como resultado, tenemos acceso a diferentes informaciones de dicha captura, como por ejemplo: El ancho y la altura.
🔹Stream: IScreenshotResult
también tiene una propiedad Stream
que se usa para convertir la captura de pantalla en un objeto de imagen para que su aplicación pueda usar dicha imagen posteriormente.
Uniendo todos los puntos explicados anteriormente, tendríamos un ejemplo de un método que toma un Screenshot y lo devuelve como un ImageSource
, veámoslo en el siguiente bloque de código:
⚠ Ejemplo extraído de la documentación oficial.
🚫 Limitaciones
No todas las vistas admiten la captura a nivel de pantalla, como por ejemplo una vista OpenGL.
¡Espero que este artículo te haya sido de mucha ayuda! 🙋♀️
¡Hasta la próxima! 💚💕
Artículo en inglés: https://askxammy.com/capturing-screenshots-in-net-maui/