Tomar una captura de pantalla de un Framebuffer de Linux incorporado
-
10-07-2019 - |
Pregunta
Estoy ejecutando Embedded Linux en un kit de evaluación (Zoom OMAP35x Torpedo Development Kit). El tablero tiene una pantalla LCD y me gustaría poder tomar capturas de pantalla para convertirlas en un gif o png. Puedo obtener los datos sin procesar haciendo lo siguiente: "cp / dev / fb0 screen.raw", pero no sé cómo convertir la imagen a un formato gif o png.
Jugué con convertir desde ImageMagick (ejemplo: " convert -depth 8 -size 240x320 rgb: ./ screen.raw -swap 0,2 -separate -combine screen.png "), pero no he podido obtener una imagen que se ve bien.
¿Alguien sabe de alguna otra herramienta que pueda probar? ¿O alguien tiene consejos para usar ImageMagick?
Solución
Eche un vistazo a fbgrab , una aplicación que hace exactamente eso (guarda el contenido del framebuffer como png).
Otros consejos
Puede que no sea posible / fácil hacerlo directamente con ImageMagick.
La documentación del núcleo Linux 4.2 https: / /github.com/torvalds/linux/blob/v4.2/Documentation/fb/api.txt#45 dice:
Los píxeles se almacenan en la memoria en formatos dependientes del hardware. Necesidades de aplicaciones para tener en cuenta el formato de almacenamiento de píxeles para poder escribir datos de imagen en el memoria de búfer de trama en el formato esperado por el hardware.
Los formatos se describen por tipos de búfer de cuadro y visuales. Algunas imágenes requieren información adicional, que se almacena en la información de pantalla variable bits_por_pixel, escala de grises, rojo, verde, azul y transp.
Las imágenes describen cómo se codifica y ensambla la información de color para crear macropixels Los tipos describen cómo se almacenan los macropixels en la memoria. Se admiten los siguientes tipos y elementos visuales.
Sigue una lista de imágenes y tipos, pero la descripción no es suficiente para que yo comprenda los formatos exactos de inmediato.
Pero parece probable que no sea un formato que ImageMagick entienda directamente, o al menos tendría que averiguar el formato utilizado para decidir las opciones de ImageMagick.