Einen Screen Shot eines Embedded Linux Framebuffer
-
10-07-2019 - |
Frage
Ich bin mit Embedded Linux auf einem Evaluierungs-Kit (Zoom OMAP35x Torpedo Development Kit). Das Board verfügt über eine LCD-und ich möchte in der Lage sein, Aufnahmen zu machen Bildschirm, um sie in einem gif oder png konvertieren. Ich kann die Rohdaten erhalten, indem Sie die folgenden Schritte ausführen:. „Cp / dev / fb0 screen.raw“, aber ich bin ratlos, wie das Bild in ein GIF- oder PNG-Format konvertieren
Ich spielte mit convert aus ImageMagick (Beispiel: "convert -depth 8 -Größe 240x320 rgb: ./ screen.raw -Swap 0,2 -separate Mähdreschernahrung screen.png"), aber nicht gelungen, eine bekommen Bild, das gut aussieht.
Kennt jemand irgendwelche anderen Werkzeuge, die ich ausprobieren könnte? Oder hat jemand Tipps für ImageMagick?
Lösung
Hier finden Sie aktuelle fbgrab , eine Anwendung, die genau das tut (es spart den Framebuffer Inhalt als png).
Andere Tipps
Es ist vielleicht nicht möglich / leicht mit ImageMagick direkt zu tun.
Die Linux-Kernel 4.2 Dokumentation https: / /github.com/torvalds/linux/blob/v4.2/Documentation/fb/api.txt#45 sagt:
Die Pixel werden im Speicher in hardwareabhängigen Formaten gespeichert. Anwendungen müssen bewusst zu sein, die Pixelspeicherformat, um die Bilddaten an die schreiben Frame-Pufferspeicher im Format von der Hardware erwartet.
Formate werden durch Rahmenpuffertypen und Visuals beschrieben. Einige Visuals erfordern zusätzliche Informationen, die in den variablen Bildschirminformationen gespeichert sind, bits_per_pixel, Graustufen, rot, grün, blau und transp Felder aus.
Visuals beschreiben, wie Farbinformationen codiert und zusammengebaut zu erstellen Makropixel. Typen beschreiben, wie Makropixel im Speicher abgelegt sind. Folgende Typen und Visuals werden unterstützt.
Eine Liste von Grafik und Typ folgt, aber die Beschreibung ist nicht genug für mich, um die genauen Formate sofort zu verstehen.
Aber es scheint wahrscheinlich, dass es kein Format sein könnte, dass ImageMagick direkt verstehen oder zumindest würden Sie das verwendete Format herausfinden, müssen die ImageMagick Optionen zu entscheiden.