ОТСЕЧЕНИЕ ТЕКСТА

Существует несколько методов, которые можно использовать для отсечения текста в графическом пакете. В определенном приложении выбор метода отсечения зависит от того, как генерируются символы, и какие требования наложены на отображение строк символов на экране.

Простейший метод обработки строк символов отсекающим окном заключается в использовании стратегии все или ничего, показанной на рис. 6.33. Если все строки находятся внутри отсекающего окна, отображается вся строка. В противном случае все строка удаляется. Данная процедура реализуется путем изучения координатных границ строки текста. Если координатные границы ограничивающего прямоугольника не входят полностью в отсекающее окно, строка отклоняется.

Альтернативой является использование стратегии отсечения символов по принципу “все или ничего ”. Здесь удаляются только те символы, которые не входят полностью в отсекающее окно (рис. 6.34). В этом случае координатные границы отдельных символов сравниваются с границами окна. Любой символ, не входящий полностью в отсекающее окно, удаляется.

Третий подход к отсечению текста состоит в отсечении компонентов отдельных символов. Это позволяет наиболее точно отразить строки символов после отсечения, но требует больше всего обработки. Символы - это не совсем то же, что линии или многоугольники. Если отдельный символ накладывается на отсекающее окно, отсекаются только части символа, находящиеся вне окна (рис. 6.35). Символы эскизных шрифтов, определенные отрезками, обрабатываются подобным способом с использованием алгоритмов отсечения многоугольников. Обработка растровых символов заключается в сравнении относительных положений отдельных пикселей в точечных изображениях символов с границами отсекающей области.

Отсечение текста с использованием координатных границ строки целиком

Рис. 6.33. Отсечение текста с использованием координатных границ строки целиком

Отсечение текста с использованием прямоугольников, ограничивающих отдельные символы строки

Рис. 6.34. Отсечение текста с использованием прямоугольников, ограничивающих отдельные символы строки

Отсечение текста, выполненное для компонентов отдельных символов

Рис. 6.35. Отсечение текста, выполненное для компонентов отдельных символов РЕЗЮМЕ

Двухмерный конвейер преобразования наблюдения - это набор операций, приводящих к выводу на экран изображения во внешних координатах, определенного на плоскости ху. Построенную сцену можно отобразить в систему координат наблюдения, а затем - в нормированную систему координат, где можно применять процедуры отсечения. Наконец, сцена преобразовывается в координаты устройства для вывода на экран. Нормированные координаты можно задать в диапазоне от 0 до 1 или в диапазоне от -1 до 1, и они нужны для того, чтобы графические пакеты были независимы от требований устройств вывода.

Часть сцены для отображения на устройстве вывода выбирается с использованием отсекающего окна, которое можно описать во внешней системе координат или в системе координат наблюдения, определенной относительно внешних координат. Содержимое отсекающего окна передается полю просмотра для отображения на устройства вывода. В некоторых системах поле просмотра задается в нормированных координатах. Другие системы задают поле просмотра в координатах устройства. Обычно отсекающее окно и поле просмотра - это прямоугольники, стороны которых параллельны координатным осям. Объект отображается в поле просмотра так, что он имеет то же относительное положение в поле просмотра, которое у него было в отсекающем окне. Чтобы сохранить относительные пропорции объекта, поле просмотра должно иметь то же самое характеристическое отношение, что и соответствующее отсекающее окно. Кроме того, для сцены можно задавать любое число отсекающих окон и полей просмотра.


⇐ вернуться назад | | далее ⇒