# FBGrab

FBGrab — это программа для создания скриншотов фреймбуфера, захватывающая фреймбуфер linux и преобразующая его в png-изображение. FBGrab поставляется как есть, без каких-либо гарантий, c лицензией GPL версии 2.


##  Описание
fbgrab — делает скриншоты с помощью устройства фреймбуфера


## Применение
       fbgrab [options] путь_до_файла

## Описание
fbgrub считывает содержимое устройства фреймбуфера (/dev/fb*) или его дампа и преобразует его в файл изображения типа png.
Вы можете использовать его для создания скриншотов практически любого приложения от консольных команд до создания скриншотов
рабочего стола вместе с  X-окнами приложений, а также приложений, использующих фреймбуфер.


## Опции
       -?    печать справки

       -a    игнорировать альфа-канал, чтобы поддерживать форматы пикселей, такие как BGR32.

       -b глубина_бит
             количество используемых битов на пиксель, необязательный параметр при чтении с устройства.

       -c консоль
            указывает какую консоль (виртуальный терминал) нужно захватьить. Иногда захват происходит быстрее, чем перерисуется фреймбуфер
            (оособенно, если если идёт зават приложения, работающего с фрймбуфером). если это так, то вам необходимо использовать эту опцию.
            Она даёт некоторую задержку перед захватом фреймбуфера. Вы не можете опцию -s совместно с этой опцией.

       -d устройство
             указывает какое устройства фреймбуфера вы хотите захватить. если вы не исползуете эту опцию, то устройство определяется значением
             переменной FRAMEBUFFER.  Если значение переменной FRAMEBUFFER не определено, то выбирается устройсво заданное при компиляции программы
             (переменная DEFAULT_FB), обычно этор /dev/fb0

       -f путь_до_файла
          Чтение из файла дампа фреймбуфера, в этом случае необходимо обязаткльно  указать ширину (опция -w )  высоту (-h) и глубину (-b) исходной картинки.

       -h height
              высота фреймбуфера в пикселях , необязательный параметр при чтении с устройства фреймбуфера.

       -i   отключает интерлейсинг. Если вы не хотите использовать в png алгоритм черезстрочного чередования Adam7, то вам надо использовать опцию -i

       -l длина_линии (шаг)
          длина в пикселях между началом каждой строки в фреймбуфере, которая может быть больше или равна ширине. Необязательная опция  при чтении с устройства.

       -s секунды
           указывает, сколько секунд ждать перед захватом вреймбуфера . Захват фреймбуфера  не блокирует переключение консоли,
           так что вы можете переключиться в другую консоль во время ожидания захвата , исполльзуется если вы не можете использовать опцию -c, обычно требует,
           чтобы fbgrab запускался от имени пользователя root.

       -v verbose
            подробная выдача

       -w width
             ширина фреймбуфера в пикселах, необязательно при чтении непосредственно с устройства фреймбуфера.

       -z   устанавливает уровень сжатия файла png от 0 (самое быстрое) до 9 (наилучшее).


## Пример использования

       fbgrab fb.png

       делает снимок фреймбуфера, или если на вашем компьютере нет fbgrab, вы можете сделать то-же командами:

       1. Получаем дамп фреймбуфера

       cp /dev/fb0 framebuffer.dump

       2. затем (например на другом компьютере) конвертируем дамп в файл png

       fbgrab -w 1024 -h 768 -b 16 -f framebuffer.dump fb.png

      для конвертации в файл png. Параметры -w, -h, -b зависят от параметров устройства фреймбуфера, на котором вы получали дамп фреймбуфера

## Файл  vim.png

    Для примера приведён файл полученный программой fbgrab с окна vim в консоле.

