組み込みLinuxフレームバッファーのスクリーンショットを撮る
-
10-07-2019 - |
質問
Embedded Linuxを評価キット(Zoom OMAP35x Torpedo開発キット)で実行しています。ボードには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を使用するためのヒントを持っていますか?
解決
それを行うアプリケーションである fbgrab を見てください(フレームバッファのコンテンツをpng)。
他のヒント
ImageMagickを使用して直接実行することは不可能であるか、簡単ではありません。
Linuxカーネル4.2のドキュメント https:/ /github.com/torvalds/linux/blob/v4.2/Documentation/fb/api.txt#45 のコメント:
ピクセルは、ハードウェアに依存する形式でメモリに保存されます。アプリケーションが必要 に画像データを書き込むために、ピクセル保存形式に注意する ハードウェアが期待する形式のフレームバッファメモリ。
フォーマットは、フレームバッファのタイプとビジュアルによって記述されます。一部のビジュアルには 可変画面情報に保存されている追加情報 bits_per_pixel、グレースケール、赤、緑、青、およびtranspフィールド。
ビジュアルは、色情報をエンコードおよび組み立てて作成する方法を説明します マクロピクセル。タイプは、マクロピクセルがメモリに格納される方法を記述します。次のタイプとビジュアルがサポートされています。
ビジュアルとタイプのリストが続きますが、説明だけでは正確なフォーマットをすぐに理解するには不十分です。
ただし、ImageMagickが直接理解する形式ではない可能性が高いようです。または、少なくともImageMagickオプションを決定するために使用する形式を見つける必要があります。