Я знаю , что могу захватить видеобуфер в Linux , используя что - то вроде cp /dev/fb0 ~/myimage
и повторное отображение , что по справляясь обратно на устройство , как так cp ~/myimage /dev/fb0
. В каком формате находятся данные изображения кадрового буфера? и как бы я идти об отображении заранее сделал изображение (JPG, PNG) в фреймбуфером? Могу ли я конвертировать в этот формат , используя ImageMagick?
пс Im используя Raspberry Pi работает raspbian.
Обновление 11-12-2012
Я закончил с использованием Pygame для отображения изображений в моем приложении. Не уверен , если это использует фрейм-буфер для отображения изображений. Но она отвечает моим потребностям очень хорошо.
источник
-noverbose
вариант , который позволяет отображать только само изображение; Однако, это не документировано на странице человека, но только в «использования:» для него.-noverbose
работает для меня, используяfbi
raspbian, когда я установил его с помощьюapt-get install fbi
.это может помочь вам, подробное руководство http://hacklab.cz/2012/04/22/usefulness-linux-framebuffer-virtual-console Я думаю , что это все в одном месте о Linux FrameBuffer
источник
Linux ядро 4.2 документация https://github.com/torvalds/linux/blob/v4.2/Documentation/fb/api.txt#45 говорит:
Перечень визуальных и типов следует, но описание не достаточно для меня, чтобы понять точные форматы сразу.
источник
Если вы хотите
cp /dev/fb0 ~/myimage
, изображение должно содержать только информацию пикселей, и порядок должен быть правильным (RGB, BGR, RGBA, ARGB
...)Я хочу сделать это тоже, но не нашел подходящий инструмент, поэтому я использую Python , чтобы помочь мне заранее сделало изображение. Вы можете попробовать это .
источник
Если вы можете установить их,
fbcat
создаст ppm-изображение иfbgrab
png-изображение.источник
Посмотрите на /usr/include/linux/fb.h в структурах как fb_var_screeninfo. Могут быть различные глубины цвета и форматы. Я вижу 16 бит / пиксель путь слишком часто, прямо сейчас у меня есть 32. Тип fbset сам по себе, и он будет отображать текущие настройки. Который почти наверняка будет одна из записей в /etc/fb.modes.
Imagemagick может работать, если вы можете сделать это точно соответствовать режиму вам нужно. Я бы, наверное, написать что-то в C, дюжины линий, заходящих libjpeg или Libpng может распаковывать изображение в массив памяти. Ваш бит / цвет и т.д. должен соответствовать или вам нужно написать что-то, чтобы преобразовать его. Хороший опыт.
Кроме того, вместо чтения / записи / dev / fb0 в виде файла, откройте () его, чтобы получить дескриптор файла, затем mmap (), чтобы вы работали с указателем на память. Это гораздо быстрее при выполнении переводов, по крайней мере в 10 раз.
Но для размещения изображения на экране, я просто установить в IV квартале. Затем нажмите F1 для получения справки, но при отображении изображения знак «х» наполовину будет записан в корневое окно, если вы этого хотите. Или просто установить его в качестве обоев в настройках Desktop и придумают при каждой загрузке.
источник