7.8. Зображення літер

 

Алфавітно-цифрові символи (літери) записуються в буфер кадру за допомогою маски. Літерна маска − це маленький растр, який містить відносні адреси пікселів, що використовуються для представлення літери. За допомогою літерної маски також можна представити і спеціальні символи, що специфічні в конкретній прикладній галузі, наприклад, резистори, конденсатори або математичні символи. Сама маска просто містить двійкові величини, що позначають, використовується чи ні конкретний піксель в масці для подання форми літери або символу. Для простих чорно-білих зображень 1 зазвичай означає, що піксель використовується в представленні, а 0 − не використовується. Для кольорових зображень застосовуються додаткові біти в якості  індексів у таблиці кольорів.

Літеру можна вставити в буфер кадру, вказавши адресу (х0, у0) початку маски в буфері. Кожен піксель в масці зміщується на величину х0, у0. Простий алгоритм для бінарної маски наводиться нижче.

 

Вставка маски в буфер кадру

Xmin, Xmax, Ymin, Ymaxграниці маски

х0, y0адреса в буфері кадру

for j = Ymin to Ymax − 1

     for I = Xmin to Xmax – 1

           If маска(і,j) < > 0 then

              записати Маска(i,j) в буфер кадру в (x0 + і, y0 + j)

           else

           end if

  next i

next j

finish.

 

Для створення літер різних шрифтів або орієнтації перед записом в буфер, маску можна модифікувати. Деякі з таких простих модифікацій наведені на рис. 7.20. На рис. 7.20, а зображена вихідна літерна маска. Записуючи її в дві послідовні комірки х0 та х0+1, отримаємо жирну літеру (рис. 7.20, б). Літеру можна повернути (рис. 7.20, с) або нахилити, в результаті останньої операції отримаємо курсив (рис. 7.20, д).

 

 

Описание: Описание: Описание: Описание: Описание: Описание: 2

а)                            б)                          с)                         д)

Рис. 7.20. Перетворені маски букв