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