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, д).

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