Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по C#.doc
Скачиваний:
259
Добавлен:
08.11.2018
Размер:
5.81 Mб
Скачать
    1. Создание графических объектов

      1. Методы класса Graphics

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

Рисовать графики функций и геометрические объекты можно как непосредственно на форме, так и в таких элементах управления, как: Image, Panel, TabPage и других.

Все геометрические объекты рисуются с помощью методов и свойств класса Graphics. На элементе управления сначала необходимо создать полотно, на котором будет изображен рисунок.

Чтобы создать полотно для рисунка пропишите в коде команду:

Graphics имя_полотна =форма.элемент_управления.CreateGraphics();

где элемент_управления – это элемент, на котором будет создано полотно для рисунка.

Пример.

Graphics g = this.pictureBox1.CreateGraphics();

Примечание. Элемент_управления может отсутствовать, полотно можно располагать непосредственно на форме.

Выбор инструментов рисования

    1. Перо

Методам класса Graphics, рисующим контур фигуры, необходимо передать перо - объект класса Pen, с помощью которого все фигуры будут прорисовываться на полотне. В конструкторе класса Pen можно задать цвет пера и его толщину (чаще говорят "ширину пера"). Цвет задается объектом класса (структурой) Color.

Чтобы создать перо с определенными характеристиками пропишите в коде команду:

Pen имя_пера = new Pen(Color.цвет, толщина);

Пример:

Pen p = new Pen(Color.Red, 1);

    1. Кисть

Чтобы закрасить созданный графический объект воспользуйтесь средствами класса Brush. Этот класс, задающий кисти, устроен более сложно, чем класс Pen. Класс Brush является абстрактным классом, так что создавать кисти этого класса нельзя, но можно создавать кисти классов-потомков Brush. Таких классов пять:

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

  • TextureBrush – кисти для закраски области заданной картинкой (image);

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

  • LinearGradientBrush – кисти для сплошной закраски с переходом от одного цвета к другому, где изменение оттенков задается линейным градиентом;

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

Первые два класса кистей находятся в пространстве имен System.Drawing, остальные – в System.Drawing.Drawing2D.

Чтобы создать кисть с определенными характеристиками пропишите в коде команду:

Brush имя_кисти = new тип_кисти (параметры_кисти);

Пример:

Brush b = new SolidBrush(Color.Maroon);

Классификация методов по рисуемым с их помощью объектам

Для рисования наиболее важны три группы методов.

  • К первой относится перегруженный метод DrawString, позволяющий выводить тексты в графическом режиме.

  • Вторую группу составляют методы Draw : DrawEllipse, DrawLine, DrawArc и другие, позволяющие цветным пером (объектом класса Pen) рисовать геометрические фигуры: линии, различные кривые, прямоугольники, многоугольники, эллипсы и прочее.

  • К третьей группе относятся методы Fill: FillEllipse, FillPie, FillRectangle и другие, позволяющие нарисовать фигуру цветным пером и закрасить ее кистью (объектом класса, производного от Brush).