Читаем Delphi. Трюки и эффекты полностью

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

Информационный контекст устройства

Win32 API поддерживает информационный контекст устройства, используемый, чтобы восстановить или получить заданные по умолчанию параметры устройства. Для создания информационного контекста приложение должно вызвать функцию CreatelC. Для получения информации об объектах, заданных по умолчанию для интересующего устройства, используются функции GetCurrentOb j ect и GetObject. Использование информационного контекста устройства более эффективно, чем контекстов других типов, потому как Win32 API работает с информационным контекстом на более низком уровне и не создает структур, необходимых для их работы. После завершения работы приложения с информационным контекстом устройства необходимо вызвать функцию DeleteDC для удаления созданного контекста.

<p>6.4. Графические режимы</p>

Операционная система Windows поддерживает пять различных графических режимов, которые позволяют приложениям определять тип смешивания цветов, место и параметры вывода и т. д.:

• настройки фона – определяет, как происходит смешивание цветов фона текстовых объектов и растровых изображений с цветом фона поля вывода;

• отображения – определяет, как происходит смешивание цвета карандашей, кистей, текстовых объектов и растровых изображений с цветом фона;

• масштабирования – определяет преобразование логических координат при графическом выводе в окна, на экран или принтер;

• заполнение контуров – определяет, каким образом будут применяться шаблоны кисти при заполнении контуров;

• сжатия – определяет, каким образом происходит преобразование цветов растровых изображений при их увеличении (уменьшении).

<p>6.5. Работа со шрифтами</p>

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

• растровые;

• векторные;

• TrueType;

• ОрепТуре.

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

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

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

<p>6.6. Рисование примитивов</p>

Теперь вы знаете хотя бы минимум теории, поэтому пора начинать практиковаться. Создадим простое приложение, которое будет рисовать на форме ряд примитивов. Для этого в новом приложении для формы сделаем обработку события OnPaint (листинг 6.1).

...
Перейти на страницу:

Похожие книги

Компьютерные сети. 5-е издание
Компьютерные сети. 5-е издание

Перед вами — очередное, пятое издание самой авторитетной книги по современным сетевым технологиям, написанной признанным экспертом в этой области Эндрю Таненбаумом в соавторстве с профессором Вашингтонского университета Дэвидом Уэзероллом. Первая версия этого классического труда появилась на свет в далеком 1980 году, и с тех пор каждое издание книги неизменно становилось бестселлером и использовалось в качестве базового учебника в ведущих технических вузах. В книге последовательно изложены основные концепции, определяющие современное состояние и тенденции развития компьютерных сетей. Авторы подробнейшим образом объясняют устройство и принципы работы аппаратного и программного обеспечения, рассматривают все аспекты и уровни организации сетей — от физического до уровня прикладных программ. Изложение теоретических принципов дополняется яркими, показательными примерами функционирования Интернета и компьютерных сетей различного типа. Пятое издание полностью переработано с учетом изменений, происшедших в сфере сетевых технологий за последние годы и, в частности, освещает такие аспекты, как беспроводные сети стандарта 802.12 и 802.16, сети 3G, технология RFID, инфраструктура доставки контента CDN, пиринговые сети, потоковое вещание, интернет-телефония и многое другое.

А. Гребенькова , Джеймс Уэзеролл

Технические науки