Новые книги

Рассматриваются вопросы организации системы защиты информации на предприятии. Определяются методологические подходы к технологии построения, принципы управления комплексной системой защиты информации (КСЗИ). Особое внимание уделено проблеме «человеческого фактора».

Для специалистов, преподавателей, студентов и всех интересующихся проблематикой защиты информации.
Руководство пользователя PGP.

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

Copyright © Philip Zimmermann, Hall Finney, Branko Lankester и Peter Gutmann. 1991-2006.

Copyright © Максим Левин. 2006.

Copyright © Петр Сучков. 2006. Руководство пользователя PGP.

Copyright © Бук-пресс, 2006.

Авторские права на программное обеспечение и документации принадлежат Philip Zimmermann.

ООО «Литературное агентство «Бук-Пресс». 127591, Москва, Керамический пр., д. 53. корп. 1

Москва Литературное агентство «Бук-Пресс»

ББК 32.973 УДК 681.3

Корректура и верстка Ирина Царик

Максим Левин PGP: Кодирование и шифрование информации с открытым ключом.

Л80 — М.: Бук-пресс. 2006. — 166 с.

Создание пера для рисования линий

Создание пера для рисования линий

Рисование графических примитивов производится с помощью перьев. В Windows'95 есть три предопределенных пера - черное (BLACK_PEN), белое (WHITE_PEN) и прозрачное (NULL_PEN). При создании окна по умолчанию ему присваивается черное перо. Хэндл каждого из них может быть получен с помощью функции GetStockObject(). Естественно, что программиста не может удовлетворитьь столь малое число перьев, поэтому для прорисовки линий можно воспользоваться пером, созданным в программе посредством вызова функции CreatePen(). Как всегда, обращаемся к файлам заголовков, в данном случае - к файлу wingdi.h:

  WINGDIAPI HPEN   WINAPI CreatePen(int, int, COLORREF);
Первый аргумент определяет стиль кисти. В wingdi.h эти стили описаны достаточно образно. Для того чтобы сохранить стиль этого описания (не путать со стилем кисти) я включил его третьим столбцом в таблице:

Возможные стили кисти

Стиль пера Значение Описание Эффект
PS_SOLID 0 ______ Сплошная линия
PS_DASH 1 ------ Пунктирная линия
PS_DOT 2 ...... Линия из точек
PS_DASHDOT 3 _._._._ Штрих-пунктирная линия (тире-точка)
PS_DASHDOTDOT 4 _.._.._ Штрих-пунктирная линия (тире-точка-точка)
PS_NULL 5   Прозрачное перо
PS_INSIDEFRAME 6   При рисовании замкнутой фигуры граница фигуры будет определятся по внешнему краю, а не по середине линии (если толщина пера более 1 пикселя)

Второй аргумент функции CreatePen() - толщина пера в логических единицах. Если этот аргумент равен 0, то толщина пера делается равной одному пикселю.

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