Сначала читаете про работу с файлами в бинарном режиме в вашем языке. Потом читаете спецификацию интересующего формата. Но учите, что форматы могут достаточно неплохо отличаться (особенно использующие сжатие), а сами бинарные файлы иметь свои приколы от системы к системе (big/little endian, выравнивание и т.п.). В качестве некой прослойки можно взять какой-нибудь OpenCV.
Alex Void: Основа: всё есть байты, только байты и ничего кроме байтов. То, что кто-то не может их прочитать как текст делает их "бинарными", хотя машине поперек, софту поперек.
Йомана ...
Вообще есть плагины для Хрома (или Лисы ...), позволяющие делать скрин сразу всей страницы ...
Если же вам реально это консольно надо, то да - imagemagick.
Можно сделать скриншот всей страницы полностью (включая то, что находится в прокручиваемой области) с помощью phantomjs.
Или вам нужно именно используя прокрутку?
если хотите поработать с бинарными данными, чтобы понимать как всё устроено
то начните с указателей C++, структур данных(как оно там хранится в памяти) потом посмотрите на формат bmp
прочтите изображение и измените его на си плюсах или уже на php