7

我在评估套件(Zoom OMAP35x Torpedo Development Kit)上运行嵌入式 Linux。该板有一个 LCD,我希望能够将屏幕截图转换为 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 的提示吗?

4

3 回答 3

10

看一下fbgrab,一个可以做到这一点的应用程序(它将帧缓冲区内容保存为 png)。

于 2009-12-08T20:47:35.670 回答
4

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

cat /dev/fb0 > fbdump
于 2020-02-11T10:13:36.217 回答
1

直接使用 ImageMagick 可能无法/容易做到这一点。

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

像素以硬件相关格式存储在内存中。应用程序需要了解像素存储格式,以便以硬件预期的格式将图像数据写入帧缓冲存储器。

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

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

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

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

于 2015-10-29T10:20:41.013 回答