• Добро пожаловать на сайт - Forumteam.digital !

    Что бы просматривать темы форума необходимо зарегестрироваться или войти в свой аккаунт.

    Группа в телеграме (подпишитесь, что бы не потерять нас) - ForumTeam Chat [Подписатся]
    Связь с администратором - @ftmadmin

47. Изучаем класс Graphics.

Redman

<FORUMTEAM>
Команда форума
Регистрация
13.11.17
Сообщения
13.340
Реакции
8.377
Баллы
1.200
FTC
208¢
Если вдруг мы захотим рисовать, мы должны изучить класс Graphics. Данный класс входит в пространство имен System.Drawing, как и большинство классов для работы с графикой. Класс Graphics определяет набор методов для вывода текста, изображений и геометрических фигур. Его можно считать эквивалентом CDC в MFC.

Класс Graphics содержит большое количество методов, таких как DrawLine(), DrawIcon(), DrawLine(), DrawBezier(), FillElipse() или FillPolygon(). Данные методы, а также многие другие класса Graphics Вам уже знакомы из курса программирования Visual C++.

Для большинства методов класса Graphics необходимы такие примитивы, как карандаш (класс Pen), кисть (класс Brush), шрифт (Font), изображение (Bitmap) и регион (Region).

Рассмотрим подробнее методы, использованные в примере. Начнем с метода FillRectangle, заливающего прямоугольник, величина которого задается в передаваемых параметрах, а именно: х, у - координаты верхнего левого угла, width - ширина, height - высота прямоугольника. Также в качестве параметра передается объект типа Brush, определяющий характеристики заливки.
Код:
public void FillRectangle(
   Brush brush,
   int x,
   int y,
   int width,
   int height
);

Метод FillEllipse заливает заданную область в форме элипса. Передаваемые параметры идентичны параметрам предыдущего метода
Код:
public void FillEllipse(
   Brush brush,
   int x,
   int y,
   int width,
   int height
);

Следующий метод - DrawEllipse - используется для рисования контура элипса. Передаваемые параметры: объект типа Pen, определяющий цвет и стиль контура элипса, а также координаты левого верхнего угла, ширина и высота.
Код:
public void DrawEllipse(
   Pen pen,
   int x,
   int y,
   int width,
   int height
);

Метод DrawString необходим для вывода текста. Принимаемые параметры метода DrawString отличаются от предыдущих методов. Первый параметр - строка, которую необходимо вывести, далее идет объект типа font, определяющий шрифт выводимой строки, следующий параметр - кисть для строки, и в качестве последнего параметра - прямоугольник, куда необходимо вписать строку.
Код:
public void DrawString(
   string s,
   Font font,
   Brush brush,
   RectangleF layoutRectangle
);

Класс GraphicsPath
Объект класса GraphicsPath представляет набор связанных линий (прямых и кривых). В данный объект можно поместить практически любой тип геометрической фигуры (например, дуги, прямоугольники, отрезки прямой линии, многоугольники и т.п.)

Добавление новых элементов в объект GraphicsPath производится при помощи многочисленных методов Add. Так AddLine() добавляет прямую линию, AddRectangle() добавляет прямоугольник, AddPolygon() - многоугольник. Принимаемые параметры рассмотрим на примере метода AddEllipse(), который добавляет эллипс. В качестве параметров метод принимает координаты левого верхнего угла эллипса, а также его длину и высоту.
Код:
public void AddEllipse(
   int x,
   int y,
   int width,
   int height
);
 
Сверху Снизу