Программирование графики

Автор работы: Пользователь скрыл имя, 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.

Содержимое работы - 1 файл

Графика_ЛР№1.doc

— 133.00 Кб (Скачать файл)

Добавление графики и эффектов анимации.

  • использовать графические службы 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.

Добавление  графики с помощью  пространства имен System.Drawing

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

В системе  координат Visual Basic строки пикселей расположены  вдоль оси x (горизонтальная ось), а  столбцы пикселей располагаются вдоль оси y (вертикальная ось). Вы можете определить положение в системе координат, указав пересечение строки и столбца с помощью записи (x, y). Координаты (x, y) верхнего левого угла формы всегда равны (0, 0). На следующей иллюстрации показано, как описывается в системе координат Visual Basic расположение в форме объекта области вывода изображений.

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

Класс System.Drawing.Graphics

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

Фигура Метод Описание
Линия DrawLine Простая линия, построенная по двум точкам
Прямоугольник DrawRectangle Прямоугольник или квадрат с четырьмя точками
Дуга DrawArc Изогнутая линия  с двумя точками (часть эллипса)
Окружность/эллипс DrawEllipse Округлая фигура, вписанная в прямоугольник.
Полигон, многоугольник DrawPolygon Сложная фигура с произвольным числом вершин и сторон (хранящихся в массиве)
Кривая DrawCurve Изогнутая линия, проходящая через произвольное количество точек (хранящихся в массиве); также называется фундаментальным сплайном
Кривые (сплайны) Безье DrawBezier Кривая, построенная  с помощью четырех точек (точки  номер 2 и 3 являются "управляющими" точками)

 В  дополнение к приведенным здесь  методам, которые создают пустые  или "незаполненные" фигуры, существует несколько методов, которые рисуют фигуры, автоматически заполняемые каким-либо цветом. Эти методы обычно имеют префикс "Fill" (заполнить) и включают FillRectangle, FillEllipse и FillPolygon. Когда вы используете графический метод класса System.Drawing.Graphics, вы должны создать в вашем коде объект Graphics, представляющий этот класс, и либо объект Pen (перо), либо Brush (кисть), указывающий атрибуты фигуры, которую вы хотите нарисовать, такие, как толщина линии и цвет заливки. Объект Pen передается как один из аргументов в методы, которые не заполняют фигуру цветом. Объект Brush передается как аргумент, когда необходимо выполнить цветную заливку. Например, следующий вызов метода DrawLine для рисования линии, которая начинается с пикселя (20, 30) и заканчивается пикселем (100, 80), использует объект Pen и четыре целых значения. Объект Graphics объявляется с использованием имени GraphicsFun, а объект Pen объявляется с использованием имени PenColor.

Dim GraphicsFun As System.Drawing.Graphics

Dim PenColor As New System.Drawing.Pen(System.Drawing.Color.Red)

GraphicsFun = Me.CreateGraphics

GraphicsFun.DrawLine(PenColor, 20, 30, 100, 80)

Синтаксис метода DrawLine важен, но обратите также внимание на предшествующие ему три строчки, которые требуются для использования класса System.Drawing.Graphics. Вы должны создать переменные для представления обоих объектов Graphics и Pen, и переменная Graphics должна быть создана с помощью метода CreateGraphics, принадлежащего форме Windows.

Использование события Paint формы

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

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

Построение  фигур линии, прямоугольника и эллипса
  1. Измените  размер формы так, чтобы она стала  выше и шире, чем форма по умолчанию. Вам понадобится место для создания графических фигур. Однако вы не будете использовать никаких элементов управления Области элементов. Вы создадите фигуры, поместив в процедуру события Form1_Paint формы код программы.
  2. Установите свойство Text формы Form1 на значение Рисование фигур.
  3. Чтобы отобразить Редактор кода, щелкните в Обозревателе решений на кнопке View Code (Просмотреть код).
  4. В раскрывающемся списке Class Name (Имя класса) щелкните на Form1 Events. Form1 Events - это список событий вашего проекта, ассоциированных с объектом Form1.
  5. В раскрывающемся списке Method Name (Имя метода) щелкните на событии Paint.
  6. В Редакторе кода появится процедура события Form1_Paint. Это место, где вы должны ввести код программы, который должен исполняться при обновлении формы Visual Basic.
  7. Введите следующий код программы:

    'Готовим  переменную GraphicsFun для графических  вызовов

    Dim GraphicsFun As System.Drawing.Graphics

    GraphicsFun = Me.CreateGraphics 

    'Для  рисования линии и эллипса  используем перо красного цвета

    Dim PenColor As New System.Drawing.Pen(System.Drawing.Color.Red)

    GraphicsFun.DrawLine(PenColor, 20, 30, 100, 80)

    GraphicsFun.DrawEllipse(PenColor, 10, 120, 200, 160) 

    'Для  создания заполненного прямоугольника  используем кисть зеленого цвета

    Dim BrushColor As New SolidBrush(Color.Green)

    GraphicsFun.FillRectangle(BrushColor, 150, 10, 250, 100)               

Этот пример процедуры события рисует три  графические фигуры - красную линию, красный эллипс и заполненный зеленым цветом прямоугольник. Чтобы программирование графики стало доступно, процедура объявляет в коде переменную с именем GraphicsFun и использует метод CreateGraphics для активизации (или присвоения значения) этой переменной. Переменная PenColor типа System.Drawing.Pen используется для установки цвета рисования линии и эллипса, а переменная BrushColor типа SolidBrush используется для установки цвета заливки прямоугольника. Эти примеры являются только самой верхушкой айсберга графической библиотеки - существует множество различных фигур, цветов и их вариантов, которые можно использовать с помощью методов класса System.Drawing.Graphics.

  1. Чтобы запустить программу, щелкните на кнопке Start (Начать).

Visual Basic загрузит  форму и выполнит событие Paint этой формы. Ваша форма будет выглядеть примерно так.

  1. Минимизируйте форму, а затем снова восстановите ее размер. Событие Paint формы снова выполнится, и графические фигуры обновятся.
  2. Чтобы завершить программу, щелкните на кнопке Закрыть.

Практические  задания.

  1. Изобразить светофор.
  2. Изобразить Российский флаг.
  3. Изобразить снеговика.

Информация о работе Программирование графики