Tomando uma captura de ecrã de um Linux Framebuffer Incorporado
-
10-07-2019 - |
Pergunta
Estou correndo incorporado Linux em um kit de avaliação (Zoom OMAP35x Torpedo Development Kit). A placa tem um LCD e eu gostaria de ser capaz de tirar fotos da tela convertê-los em um gif ou png. Posso obter os dados brutos, fazendo o seguinte:. "Cp / dev / fb0 screen.raw", mas estou perplexo sobre como converter a imagem em um formato gif ou png
Eu brinquei com convertido do ImageMagick (exemplo: "Converter -depth 8 -size 240x320 rgb: ./ screen.raw -swap 0,2 -separate Combine screen.png"), mas não foram capazes de obter uma imagem que parece certo.
Alguém sabe de quaisquer outras ferramentas que eu poderia experimentar? Ou alguém tem dicas para usar o ImageMagick?
Solução
Dê uma olhada fbgrab , um aplicativo que faz exatamente isso (ele salva o conteúdo do framebuffer como uma PNG).
Outras dicas
Pode não ser possível / fácil de fazê-lo diretamente com o ImageMagick.
O Linux Kernel 4.2 documentação https: / /github.com/torvalds/linux/blob/v4.2/Documentation/fb/api.txt#45 diz:
Pixels são armazenados na memória em formatos dependente de hardware. aplicações necessidade estar ciente do formato de armazenamento de pixels, a fim de dados de imagem de gravação para o quadro buffer de memória no formato esperado pelo hardware.
formatos são descritos por tipos de frame buffer e visuais. Alguns recursos visuais requerem informações adicionais, que são armazenados nas informações da tela variável bits_per_pixel, campos em tons de cinza, vermelho, verde, azul e transp.
Visuals descrever como a informação de cor é codificada e montados para criar macropixels. Tipos descrever como macropixels são armazenados na memória. Os seguintes tipos e efeitos visuais são suportadas.
A lista de recursos visuais e tipos segue, mas a descrição não é suficiente para mim compreender os formatos exatos imediatamente.
Mas parece provável que ele pode não ser um formato que ImageMagick vai entender diretamente, ou pelo menos você tem que descobrir o formato usado para decidir as opções ImageMagick.