Автор работы: Пользователь скрыл имя, 25 Октября 2011 в 21:39, лекция
использовать графические службы GDI+, доступные через пространство имен System.Drawing.
методы: DrawEllipse и DrawLine и структура Point, принадлежащие классу System.Drawing.Graphics.
Элементы управления могут быть быстро перемещены, если вы обновите одно из свойств элемента управления Left, Top или Location, или если вы используете метод SetBounds.
Элементы управления поддерживают эффекты drag-and-drop
Microsoft Visual Studio .NET может работать с множеством форматов изображений. Пространство имен System.Drawing.Imaging содержит функции для работы со следующими форматами изображений: BMP, EMF, EXIF, GIF, ICON, JPEG, MemoryBMP, PNG, TIFF и WMF.
Добавление графики и эффектов анимации.
Первое, что требуется изучить при работе с графикой - это координатную систему формы. В Visual Basic каждая форма имеет свою систему координат. Начальная точка системы координат находится в верхнем левом углу формы. Система координат по умолчанию состоит из строк и столбцов аппаратно-независимых графических элементов-пикселей. Они представляют собой наименьшие точки, которые вы можете использовать в форме Visual Basic.
В системе координат Visual Basic строки пикселей расположены вдоль оси x (горизонтальная ось), а столбцы пикселей располагаются вдоль оси y (вертикальная ось). Вы можете определить положение в системе координат, указав пересечение строки и столбца с помощью записи (x, y). Координаты (x, y) верхнего левого угла формы всегда равны (0, 0). На следующей иллюстрации показано, как описывается в системе координат Visual Basic расположение в форме объекта области вывода изображений.
Visual Basic общается с драйвером видеокарты вашего компьютера и с его помощью определяет, как в форме отображаются пиксели и различные фигуры (линии, прямоугольники, кривые и окружности). Для отображения конкретных фигур, таких, как линия, показанная на следующей иллюстрации, используется много пикселей. На следующей иллюстрации показано увеличенное изображение искажений или ломаных краев, которые вы иногда можете видеть в приложениях Visual Basic и Windows.
Независимо от того, создаете ли вы простую фигуру или сложный чертеж, важно иметь возможность рисовать в ваших программах большую часть стандартных геометрических фигур. Следующая таблица содержит перечень базовых фигур и методов класса System.Drawing.Graphics.
Фигура | Метод | Описание |
Линия | DrawLine | Простая линия, построенная по двум точкам |
Прямоугольник | DrawRectangle | Прямоугольник или квадрат с четырьмя точками |
Дуга | DrawArc | Изогнутая линия с двумя точками (часть эллипса) |
Окружность/эллипс | DrawEllipse | Округлая фигура, вписанная в прямоугольник. |
Полигон, многоугольник | DrawPolygon | Сложная фигура с произвольным числом вершин и сторон (хранящихся в массиве) |
Кривая | DrawCurve | Изогнутая линия, проходящая через произвольное количество точек (хранящихся в массиве); также называется фундаментальным сплайном |
Кривые (сплайны) Безье | DrawBezier | Кривая, построенная с помощью четырех точек (точки номер 2 и 3 являются "управляющими" точками) |
В
дополнение к приведенным
Dim GraphicsFun As System.Drawing.Graphics
Dim PenColor
As New System.Drawing.Pen(System.
GraphicsFun = Me.CreateGraphics
GraphicsFun.DrawLine(PenColor, 20, 30, 100, 80)
Синтаксис метода DrawLine важен, но обратите также внимание на предшествующие ему три строчки, которые требуются для использования класса System.Drawing.Graphics. Вы должны создать переменные для представления обоих объектов Graphics и Pen, и переменная Graphics должна быть создана с помощью метода CreateGraphics, принадлежащего форме Windows.
Если вы протестируете показанный выше метод DrawLine в программе, то заметите, что созданная линия сохраняется в форме только до тех пор, пока ее что-нибудь не закроет. Если в какой-то момент в форме появится диалоговое окно, которое закроет собой эту линию, то при его исчезновении линия больше не будет видна. Линия также исчезнет, если вы минимизируете окно формы, а затем снова его развернете. Чтобы устранить эту проблему, вы должны поместить ваш графический код в процедуру события Paint формы так, что каждый раз, при обновлении формы, графика также перерисовывалась.
Далее с помощью процедуры события Paint формы вы создадите три фигуры. Нарисованные вами фигуры будут сохраняться в форме даже тогда, когда форма будет перекрываться другим окном или минимизироваться.
'Готовим переменную GraphicsFun для графических вызовов
Dim GraphicsFun As System.Drawing.Graphics
GraphicsFun
= Me.CreateGraphics
'Для рисования линии и эллипса используем перо красного цвета
Dim PenColor
As New System.Drawing.Pen(System.
GraphicsFun.DrawLine(PenColor, 20, 30, 100, 80)
GraphicsFun.DrawEllipse(
'Для
создания заполненного
Dim BrushColor As New SolidBrush(Color.Green)
GraphicsFun.FillRectangle(
Этот пример процедуры события рисует три графические фигуры - красную линию, красный эллипс и заполненный зеленым цветом прямоугольник. Чтобы программирование графики стало доступно, процедура объявляет в коде переменную с именем GraphicsFun и использует метод CreateGraphics для активизации (или присвоения значения) этой переменной. Переменная PenColor типа System.Drawing.Pen используется для установки цвета рисования линии и эллипса, а переменная BrushColor типа SolidBrush используется для установки цвета заливки прямоугольника. Эти примеры являются только самой верхушкой айсберга графической библиотеки - существует множество различных фигур, цветов и их вариантов, которые можно использовать с помощью методов класса System.Drawing.Graphics.
Visual Basic загрузит форму и выполнит событие Paint этой формы. Ваша форма будет выглядеть примерно так.
Практические задания.