|
|
  |
масштабирование шрифтов, KS0108 |
|
|
|
Feb 11 2007, 17:05
|
Участник

Группа: Новичок
Сообщений: 15
Регистрация: 6-04-06
Пользователь №: 15 889

|
Доброго времени суток! В сети я нашел кучу примеров для работы с графическими ЖК индикаторами, посмотрев их, выяснил, что разработчики хранят шрифты в массивах(к примеру): /* Таблица фонта 8x8 */ const uint8_t font_08x08_table[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00 */ 0x7E,0x81,0xA5,0x81,0xBD,0x99,0x81,0x7E, /* 01 */ 0x7E,0xFF,0xDB,0xFF,0xC3,0xE7,0xFF,0x7E, /* 02 */ 0x6C,0xFE,0xFE,0xFE,0x7C,0x38,0x10,0x00, /* 03 */ 0x10,0x38,0x7C,0xFE,............
У меня в программе есть один шрифт размером 6х8, включающий буквы двух алфавитов(RUS и EN) и цифры. В начале этого хватало, но в связи с модернизацией программы всплыла необходимость использовать ещё и некоторые символы размером 12х16 (для улучшения читаемости выводимой информации). На описание ранее приведенным способом всего набора необходимых символов потребуется увеличение объема памяти программ(которой для свободного использования осталось немного). Вопрос мой состоит в следующем: можно-ли используя описание необходимых символов из шрифта 6х8 путем масштабирования получить те же символы но размером 12х16? Какие алгоритмы для этого используются? Где можно посмотреть еще информацию по вопросу? Пользовался ли кто-нибудь такими методами и каково их быстродействие? P.S. устройство собрано и аппаратной модернизации не подлежит, так что варианты увеличения памяти путем прикручивания дополнительных микросхем не подходят.
|
|
|
|
|
Feb 11 2007, 19:02
|
Участник

Группа: Новичок
Сообщений: 15
Регистрация: 6-04-06
Пользователь №: 15 889

|
Про железо: ATMega8515(8К flash, 512RAM и немного EEPROMa), на нем висит 4 кнопки +ks0108. Вывод планируется с любой позиции(причем с набором символов 6х8 он и реализован).
|
|
|
|
|
Feb 11 2007, 21:12
|

инженер
   
Группа: Свой
Сообщений: 717
Регистрация: 4-03-05
Пользователь №: 3 064

|
2antoxa1 вот Вам пример программы..... http://www.microsyl.com/nokialcd/nokialcd.htmlвыглядят x2 фонты очень даже нормально...
--------------------
........поужинали вяленой рыбой, кот лежал рядом, молчали.......
|
|
|
|
|
Feb 11 2007, 21:13
|
Участник

Группа: Новичок
Сообщений: 15
Регистрация: 6-04-06
Пользователь №: 15 889

|
А ссылки на примеры реализации или "теорию" кто-нибудь видел? Если да, то поделитесь пожалуйста.
|
|
|
|
|
Feb 11 2007, 22:00
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(slog @ Feb 11 2007, 21:00)  Тебе лучше хранить 12х16 (если хватит памяти), а 6х8 получать масштабированием. Иначе крупный шрифт будет некрасивый. Что совой об пенек, что пеньком об сову... Помимо того, что масштабирование из большого в маленький заведомо более ресурсоемко (это в придачу к вчетверо большему объему фонта), так и у тщательно и любовно прорисованного"большого" фонта при уменьшении запросто "слипнутся" точки или появятся иные искажения. Нет уж, если с программной памятью так плохо, что большой фонт не влезает (а тут пахнет минимумом половиной программной памяти 8515) - тогда просто удваивать по ширине и высоте, и координаты знакомест при выводе удваивать. Это лучше чем ничего. А для мелких индикаторов - насущная необходимость...
|
|
|
|
|
Feb 13 2007, 15:01
|
Участник

Группа: Новичок
Сообщений: 15
Регистрация: 6-04-06
Пользователь №: 15 889

|
2el34 Спасибо за ссылку! Помогло!
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|