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

 
 
> Алгоритм или программная реализация попиксельной бегущей строки, На Си
011119xx
сообщение May 30 2012, 08:46
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 381
Регистрация: 5-07-05
Из: Уфа
Пользователь №: 6 544



Нужен алгоритм или программная реализация попиксельной бегущей строки для вывода на дисплей разрешением 240х320. Длина строки в пикселях может быть больше 240. Используется шрифт, в котором символы имеют разную ширину. Бегущая строка должна двигаться по кругу по типу: "ая строка - Это бегу". В конце строки нужно вставлять символы разделения, например, " - ". Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
011119xx
сообщение Mar 10 2015, 05:35
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 381
Регистрация: 5-07-05
Из: Уфа
Пользователь №: 6 544



Я использую несколько модифицированную функцию string_width.
Код
//----------------------------------------------------------------------------------------------
// Описание: Расчет ширины строки  
// Принимает: указатель на строку, интервал между символами    
// Возвращает: ширина строки  
//----------------------------------------------------------------------------------------------
uint16_t string_width(char *text, uint8_t ch_interval)
{
    char c;                    
    uint16_t i = 0;                

    while(c = *(text++))                       //Выполнять для всей строки
      {
           i += char_width(c);        //Расчет ширины символа
           i += ch_interval;                                //Учет межсимвольного пространства
      }
    i -= ch_interval;                       //Устранение межсимвольного пространства после последнего символа

    return(i);                                 //Возврат ширины строки
}
//----------------------------------------------------------------------------------------------

Функция char_width зависит от типа используемого шрифта.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 7th August 2025 - 17:23
Рейтинг@Mail.ru


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