我在评估套件(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的提示?
答案 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选项。