реклама на сайте
подробности

 
 
> масштабирование шрифтов, KS0108
antoxa1
сообщение Feb 11 2007, 17:05
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 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. устройство собрано и аппаратной модернизации не подлежит, так что варианты увеличения памяти путем прикручивания дополнительных микросхем не подходят.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rx3apf
сообщение Feb 11 2007, 18:43
Сообщение #2


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(antoxa1 @ Feb 11 2007, 17:05) *
состоит в следующем: можно-ли используя описание необходимых символов из шрифта 6х8 путем масштабирования получить те же символы но размером 12х16? Какие алгоритмы для этого используются? Где можно посмотреть еще информацию по вопросу? Пользовался ли кто-нибудь такими методами и каково их быстродействие?

Что можно - сомнений нет. Вот только буквы будут очень "квадратные" - точки-то станут вдвое больше по ширине/высоте, и смотреться это будет так себе. Сделать какой-то "умный" конвертор - геморройно, отожрет еще памяти и будет тормозить. А просто тупо увеличить - тривиально, каждый байт превращаем в два (циклом или выборкой по таблице для каждого ниббла - табличка в 16 байтов), и результат выводим дважды (конкретнее - зависит от способа вывода в индикатор).
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 01:40
Рейтинг@Mail.ru


Страница сгенерированна за 0.01353 секунд с 7
ELECTRONIX ©2004-2016