русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Растеризация текста. Шрифты


Дата добавления: 2013-12-23; просмотров: 2097; Нарушение авторских прав


Рисование стилизованных примитивов (толщина и начертание линий, текстуры)

● Для рисования жирных линий (прямых, кривых Безье, и т.д.) надо вместо закраски пикселя закрашивать его окрестность некоторым пером, форма которого задаётся. Но чтобы одни и те же пиксели не перерисовывались несколько раз, нужно учитывать угол наклона линии и корректировать форму пера.

● Для рисования пунктирных линий отводится массив битов, который задает маску для нужного типа линии (узор): 1 — пиксель надо рисовать, 0 — не надо. При рисовании линии маска последовательно накладывается, и определяется, рисовать пиксель или нет.

● При рисовании жирной линии пунктиром за счет толщины пера могут закрашиваться пропуски в пунктире ⇒ необходимо подбирать форму пера исходя из наклона и типа линии.

Шрифт— набор изображений букв и знаков, выполненных в едином стиле.

Параметры шрифтов:

Начертание (прямой или курсив)

Насыщенность (отношение толщины букв, штрихов к ширине буквенного просвета. Bold)

Моноширинность.

○ Моноширинные шрифты — у всех букв одинаковая ширина. Удобно для использования в псевдографике (рисование таблиц спецсимволами), в ASCII-art и в программировании.

○ Пропорциональные — у всех букв разная ширина.

Размер — измеряется в пунктах (1/72 дюйма). Используется для устройств вывода.

Кодировка — определяет алфавит, используемый для печати.

Векторный / растровый

Растровый: изображения букв хранятся в битовых матрицах. Отрисовка таких шрифтов аналогична отрисовке текстур.

■ Достоинства:

● Простота и эффективность реализации

● Требуется мало памяти (изображения отдельных букв имеют слишком малый размер, чтобы эффективно сжиматься при векторизации; кроме того, эти изображения могут быть монохромными).



■ Недостатки:

● Проблемы интерполяции при трансформации (масштабирование, поворот и др.) Частично решает проблему наличие разных вариантов шрифта для разных размеров.

Векторный: буквы состоят из глифов. Глиф — это элемент символа. Глифы бывают простыми (закрашенный примитив, граница которого — кривая Безье) и составными (является комбинацией простых или составных). Векторные шрифты имеют те же преимущества и недостатки, что и векторные изображения: больше изобразительных возможностей, но сложнее отрисовка. Отрисовка сводится к рисованию кривых Безье и закрашиванию примитивов. Хинтинги — это подпрограммы, которые хранятся вместе со шрифтом и корректируют параметры глифов при значительном масштабировании. Например, при увеличении буквы Ц в 20 раз горизонтальная линия должна расти быстрее, чем вертикальные.

 



<== предыдущая лекция | следующая лекция ==>
Немонотонная закраска | Алгоритм Сазерленда-Коэна


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.