Снимок экрана встроенного фреймбуфера Linux
-
10-07-2019 - |
Вопрос
Я использую Embedded Linux на ознакомительном комплекте (Zoom OMAP35x Torpedo Development Kit). На плате есть ЖК-дисплей, и я хотел бы иметь возможность делать снимки экрана, конвертируя их в 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 говорит:
Пиксели хранятся в памяти в аппаратно-зависимых форматах. Приложения нужны знать формат хранения пикселей для записи данных изображения в память кадрового буфера в формате, ожидаемом аппаратным обеспечением.
Форматы описываются типами кадрового буфера и визуальными элементами. Некоторые визуальные эффекты требуют дополнительная информация, которая хранится в переменной информации экрана биты_пер_пикселя, оттенки серого, красный, зеленый, синий и прозрачные поля.
Визуальные элементы описывают, как информация о цвете кодируется и собирается для создания macropixels. Типы описывают, как макропиксели хранятся в памяти. Поддерживаются следующие типы и визуальные эффекты.
Ниже приведен список визуальных элементов и типов, но описания недостаточно, чтобы я сразу понял точные форматы.
Но вполне вероятно, что это не тот формат, который ImageMagick поймет напрямую, или, по крайней мере, вам придется выяснить, какой формат используется для выбора параметров ImageMagick.