拍摄嵌入式Linux Framebuffer的屏幕截图

时间:2009-10-29 17:03:47

标签: imagemagick embedded-linux framebuffer

我在评估套件(Zoom OMAP35x Torpedo Development Kit)上运行嵌入式Linux。该板有一个液晶显示器,我希望能够拍摄屏幕截图将它们转换为gif或png。我可以通过执行以下操作获取原始数据:“cp / dev / fb0 screen.raw”,但我对如何将图像转换为gif或png格式感到困惑。

我使用ImageMagick进行转换(例如:“convert -depth 8 -size 240x320 rgb:./ screen.raw -swap 0,2 -separate -combine screen.png”),但一直无法获得看起来正确的图像。

有没有人知道我可以试用的其他任何工具?或者有没有人有使用ImageMagick的提示?

3 个答案:

答案 0 :(得分:5)

看看fbgrab,这是一个应用程序(它将帧缓冲区内容保存为png)。

答案 1 :(得分:4)

您可以简单地将帧缓冲区捕获到文件中,然后在任何原始图像查看器中打开它,或者在线尝试,例如:https://rawpixels.net/

cat /dev/fb0 > fbdump

答案 2 :(得分:1)

使用ImageMagick直接进行操作可能不太容易/不容易。

Linux内核4.2文档https://github.com/torvalds/linux/blob/v4.2/Documentation/fb/api.txt#45说:

  

像素以依赖于硬件的格式存储在内存中。应用需要   要知道像素存储格式,以便将图像数据写入   帧缓冲存储器,采用硬件预期的格式。

     

格式由帧缓冲区类型和视觉效果描述。一些视觉效果需要   附加信息,存储在可变屏幕信息中   bits_per_pixel,灰度,红色,绿色,蓝色和透明字段。

     

Visuals描述了如何编码和组装颜色信息以进行创建   宏像素。类型描述了macropixels如何存储在内存中。支持以下类型和视觉效果。

下面是视觉效果和类型列表,但描述不足以让我立即理解确切的格式。

但似乎它可能不是ImageMagick直接理解的格式,或者至少你必须找出使用的格式来决定ImageMagick选项。