2. Процедури машинної графіки

2.3. Алгоритми відсікання тексту

 

 

Текст можна відсікати одним з декількох способів.

Якщо кожну літеру представляти в вигляді набору коротких відрізків прямих ліній (штрихів),то можна виконати операцію відсікання над кожним відрізком. Такий підхід забезпечує добрі результати (рис. 2.5, а), але він дуже повільний і несумісний із звичайними апаратними генераторами літер.

Можна вважати літери об’єктами, які не діляться та відсікати рядок літер з точністю до літери. Кожна літера уявно заключається в прямокутник. Деяка точка цієї комірки – центр або один з кутів – узгоджується з вікном : якщо точка всередені , то літера малюється. Можна узгодити з вікном всю комірку літери або її діагональ. Якщо комірка або її діагональ цілком входять до вікна літера малюється, навпаки - ні. На рис.2.5, б,с показані результати роботи цих двох підходів: рис.2.5,б - відсікання літери по нижньому куту комірки ; рис.2.5,с -відсікання по комірці літери. Відсікання по кутовій точці та комірці/ діагоналі дає однаковий результат тільки тоді, коли комірка не перетинається з вікном. Більш того, відсікання по комірці літери та відсікання по її діагоналі еквівалентні тільки тоді, коли сторони комірки паралельні сторонам вікна. При відсіканні необхідно враховувати всю комірку літери ( діагоналі недостатньо).

Третій, найбільш простий підхід до відсікання тексту полягає в тому, що весь рядок літер вважається об’єктом, що не ділиться і або весь показується, або не показується ( рис. 2.5, д). При цьому підході необхідно узгоджувати з вікном або деяку точку прямокутника, який охоплює рядок, або весь прямокутник.

 

Рис. 2.5. Різні методи відсікання тексту

Контрольні   запитання.

1.  Перечисліть основні підходи до відсікання тексту.

2.  Коли еквівалентні відсікання по комірці літери та відсікання по її діагоналі ?

3.  В чому полягають недоліки відсікання тексту при векторному завданні букв ?

     Зміст