Visual Basic 6. Руководство разработчика



         

Функции рисования


Visual Basic предоставляет несколько методов для рисования на формах элементов управления PictureBox (см. гл. 6). Этих методов немного, но разнообразие их параметров делает эти методы достаточно гибкими. Однако они работают не так быстро, как их "двойники" из набора API-функций. Система Windows содержит много графических объектов и достаточное количество API-функций для рисования

и заливки изображений. В этом параграфе рассмотрены некоторые API-функции, которые помогут повысить быстродействие приложений, создаваемых в Visual Basic (рассмотрение всех API-функций для работы с графикой выходит за пределы этой книги). В последнем параграфе главы рассмотрены основные положения графиче­ских API-функций Windows, контекстов устройств и растровых структур. Эти методы помогут написать быстродействующие программы, позволяющие орга­низовать вывод графических изображений и манипулировать отдельными пиксе­лями.

Примечание

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

Вывод линий и окружностей

Двумя основными API-функциями являются функции LineTo() и Ellipse(), позволяющие выводить прямые линии и эллипсы (окружности). Объявление функции LineTo() приведено ниже.

Public Declare Function LineTo Lib "gdi32" Alias ''LineTo" _

(ByVal hdc As Long, ByVal x As Long, ByVal у As Long) As Long

Функция LineTo() позволяет нарисовать отрезок прямой, соединяющий текущую точку и точку с координатами (X, Y) в указанном контексте устройства. Чтобы определить текущую точку, воспользуйтесь функцией MoveToEx():

Private Declare Function MoveToEx Lib "gdi32" Alias "MoveToEx" _

(ByVal hdc As Long, ByVal x As Long, ByVal у As Long,

IpPoint As POINTAPI) As Long




Содержание  Назад  Вперед