Программисткие орешки. Разминка для ума.
Sep. 27th, 2012 12:28 pmВ предыдущем посте я уже говорил о фреймбуфере. По сути это представляет собой память, где уложены байты (или слова по 16 или 24 бита). Каждый байт (слово) кодирует пиксель, его цвет. В прошивке к этой книжке, есть файл raw.BootImg.img весом ровно 480000 байт, что соответствует разрешению книжки 800х600 (умножтке 800 на 600 и получите это число).
Теперь задачка. Вот вам файл raw.BootImg.img
Задача: сконвертировать его в формат нормальной картинки png или bmp (жепег тоже канает). В идеале каким-то интересным способом (на си, питоне или каком другом языке программирования). Хотя вариант со стандартными линуксовыми коммандами тоже канает.
Я попробовал вчера это сделать, путём гуглежа нашёл этот способ http://www.cnx-software.com/2010/07/18/how-to-do-a-framebuffer-screenshot/ (это подсказка). Но поскольу перла я не знаю, то так и не смог сделать чтобы читался не два байта, а один. В результате первых опытов получил такое изображение

Первый блин комом
В общем, выкладывайте сюда получившиеся картинки и код, которым вы это сделали. Победитель получит от меня какую-нибудь интересную железку. :).
Рядовому программисту задача с гуглом должна решится за 5, максимум 10 минут.
З.Ы. Особый интерес представляет обратное преобразование из картинки в такой битовый образ.
Теперь задачка. Вот вам файл raw.BootImg.img
Задача: сконвертировать его в формат нормальной картинки png или bmp (жепег тоже канает). В идеале каким-то интересным способом (на си, питоне или каком другом языке программирования). Хотя вариант со стандартными линуксовыми коммандами тоже канает.
Я попробовал вчера это сделать, путём гуглежа нашёл этот способ http://www.cnx-software.com/2010/07/18/how-to-do-a-framebuffer-screenshot/ (это подсказка). Но поскольу перла я не знаю, то так и не смог сделать чтобы читался не два байта, а один. В результате первых опытов получил такое изображение

Первый блин комом
В общем, выкладывайте сюда получившиеся картинки и код, которым вы это сделали. Победитель получит от меня какую-нибудь интересную железку. :).
Рядовому программисту задача с гуглом должна решится за 5, максимум 10 минут.
З.Ы. Особый интерес представляет обратное преобразование из картинки в такой битовый образ.