Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LEKCII.doc
Скачиваний:
9
Добавлен:
17.09.2019
Размер:
1.12 Mб
Скачать

Шрифты.

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

Растровые шрифты содержат битовые образы всех символов. Для каждого размера шрифта необходимо иметь свой набор символов. Кроме того, различные устройства вывода имеют разное соотношение горизонтальных и вертикальных размеров пикселя, что приводит к необходимости хранить отдельные наборы образов символов не только для разных размеров шрифта, но и для разного соотношения размеров пикселя физического устройства отображения.

Растровые шрифты плохо поддаются масштабированию, так как при этом наклонные линии контура символа принимают зазубренный вид.

Векторные шрифты хранятся в виде набора векторов, описывающих отдельные сегменты и линии контура символа, поэтому они легко масштабируются. Однако их внешний вид далек от идеального. Как правило, векторные шрифты используются для вывода текста на векторные устройства, такие, как плоттер.

Масштабируемые шрифты TrueType впервые появились в Windows версии 3.1 и сильно повлияли на рост популярности этой операционной системы. Шрифты True Type поддаются масштабированию без существенных искажений внешнего вида.

Рис. иллюстрирует ухудшение внешнего вида растрового и векторного шрифтов при увеличении размера букв до величины 40 пунктов. Внешний вид масштабируемого шрифта не ухудшился.

Рис. Растровый, векторный и масштабируемый шрифты

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

Физические и логические координаты.

Физические координаты, как это следует из названия, имеют непосредственное отношение к физическому устройству вывода. В качестве единицы измерения длины в системе физических координат всегда используется пиксель. Если устройством вывода является экран монитора, физические координаты обычно называют экранными координатами.

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

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

Физическая система координат.

На рис. показана физическая система координат для экрана видеомонитора.

Рис. Физическая система координат для экрана видеомонитора

Для того чтобы определить физическое разрешение устройства вывода (например, размер экрана в пикселях по вертикали и горизонтали), следует использовать функцию. Если передать в качестве второго параметра этой функции значения VERTRES и HORZRES , она в любом режиме отображения вернет, соответственно, размер экрана в пикселах по вертикали и по горизонтали. Параметр hdc должен указывать информационный контекст или контекст отображения, связанный с экраном монитора:

HDC hdc;

int iVertRes, iHorzRes;

hdc = CreateDC("DISPLAY", NULL, NULL, NULL);

iVertRes = GetDeviceCaps(hdc, VERTRES);

iHorzRes = GetDeviceCaps(hdc, HORZRES);

DeleteDC(hdc);

Физическая система координат "привязана" к физическому устройству вывода, поэтому при ее использовании для вывода изображения следует учитывать особенности видеоконтроллера.

Параметр функции GetDeviceCaps

SVGA 800 x 600

8514/A

SVGA 1024 x 768

HORZRES

800

1024

1024

VERTRES

600

760

768

HORZSIZE

208

280

208

VERTSIZE

152

210

152

ASPECTX

36

10

36

ASPECTY

36

14

36

ASPECTXY

51

14

51

LOGPIXELSX

96

120

96

LOGPIXELSY

96

120

96

Из этой таблицы видны недостатки физической системы координат.

Во - первых, вертикальное (VERTRES) и горизонтальное (HORZRES) разрешение зависит от типа видеоконтроллера.

Во - вторых, физические размеры пикселей (ASPECTX и ASPECTY ), и, что самое главное, отношение высоты и ширины пикселя также зависят от типа видеоконтроллера.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]