2013-05-10 1 views
0

Для 8-битной встроенной системы с маленьким монохромным ЖК-дисплеем с черно-белыми пикселями (без оттенков серого) мне нужен эффективный способ хранения и отображения шрифтов. Я, вероятно, выберу два шрифта с фиксированной шириной, 4x5 пикселей и 5x7 пикселей. Ресурсы очень ограничены: 30k ROM, 2k RAM. Шрифты будут записаны в буфер с масштабом 1: 1, как однострочная строка с заданным смещением начала в пикселях (char* str, byte x, byte y)Алгоритм для рисования шрифта в стиле растрового изображения в буфер отображения с помощью C

Я думаю, что я бы использовал 1k ОЗУ для буфера. Если нет более эффективная структура для написания шрифтов, я бы это устроены так, что могут быть записаны последовательно на ЖК-дисплее, который будет следующим образом:

byte buffer[1024]; 

где каждый байт представляет собой горизонтальную линию 8 пикселей (MSB слева), и каждая строка дисплея завершена слева направо и, таким образом, сверху вниз. (Таким образом, каждая строка представлена ​​(128px/8 =) 16 байт.)

Так что мой вопрос:

  1. Как должны храниться шрифты?
  2. Какую форму должен принимать буфер?
  3. Как шрифты должны быть записаны в буфер?

Предполагаю, что для этого есть некоторые стандартные алгоритмы, но я ничего не могу найти в поиске. Любые предложения, было бы очень полезно (я не ожидал, что кто закодировать это для меня !!)

Благодаря

ответ

2

В качестве первого разреза, реализовать bit blit, примитив с множеством применений, включая рисование персонажей. Это диктует следующие ответы на ваши вопросы.

  1. Как растровые изображения.
  2. Растровое изображение.
  3. Бит бит.

Реализация бит-битта сама по себе включает в себя кучу поразрядных операций, последовательно извлекающих байт или комбинацию из двух частичных байтов из исходной растровой карты для объединения с байтом назначения.

 Смежные вопросы

  • Нет связанных вопросов^_^