Узнайте, как рисовать фигуры, использовать цвета и визуализировать изображения в приложении WinForms.
Windows Forms — это платформа, позволяющая создавать настольные приложения. Вы можете щелкать и перетаскивать компоненты, такие как кнопки, в визуальный пользовательский интерфейс. Это также помогает вам вручную создавать различные фигуры в вашем коде.
В этой статье показано, как добавлять в приложение линии, фигуры и изображения. В этом руководстве для демонстрации примеров используется Visual Studio 2019 Community Edition.
Какие встроенные классы используются для рисования графики?
Windows Forms использует Язык программирования С#. Его встроенные классы и методы позволяют рисовать различные фигуры на холсте Windows Form. К ним относятся классы Graphics, Pen, Color и Brush.
Класс | Описание |
---|---|
Графика | Класс Graphics позволяет рисовать фигуры и линии на холсте. Он включает в себя такие методы, как:
|
Ручка | Класс Pen позволяет указать свойства кончика пера, который можно использовать для рисования фигур. Вы можете указать такие свойства, как цвет, толщина или стиль тире. Методы включают в себя:
|
Цвет | Цветовой объект, состоящий из значений R (красный), G (зеленый) и B (синий). Вам понадобится цветовой объект для многих встроенных методов, создающих фигуры. |
SolidBrush, HatchBrush, Текстурная кисть | Эти классы кистей являются производными от интерфейса «Кисть». Эти классы позволяют закрашивать пустые места на холсте. Вы также можете заполнить пространство, используя различные узоры или текстуры. Вы можете указать такие свойства, как цвет. |
Прямоугольник, Линия, Многоугольник, Эллипс | Вы можете создавать объекты на основе этих фигур и использовать их при вызове таких методов, как DrawRectangle(). Вместо передачи x, y, ширины и высоты в качестве аргументов вы можете вместо этого передать существующий объект Rectangle. |
Чтобы просмотреть исходный код работающего примера приведенного выше руководства, посетите веб-сайт Репозиторий GitHub. Вы можете попробовать следующие примеры после того, как создал приложение Winforms.
Как добавить рисование в обработчик события загрузки формы
Во-первых, добавьте обработчик событий для рисования фигур при загрузке холста.
- Добавьте функцию Paint для формы.
private void Form1_Paint (отправитель объекта, PaintEventArgs e)
{
// Здесь находится код
} - Перейдите на вкладку «Дизайн».
- В окне «Свойства» выберите значок молнии, чтобы открыть вкладку «События».
- В «Paint» в разделе «Внешний вид» выберите функцию Form1_Paint. Это выполнит функцию при запуске приложения.
Как рисовать линии на холсте Windows Form
Вы можете использовать метод Color, Pen и DrawLine() для рисования линий на холсте.
- Внутри функции Form1_Paint() создайте объект Color с цветом, которым вы хотите, чтобы была линия. Затем создайте объект Pen, чтобы нарисовать линию.
Черный цвет = цвет. FromArgb (255, 0, 0, 0);
Ручка blackPen = новая ручка (черная); - Метод DrawLine() класса Graphics рисует линию с помощью пера. Это начнет рисовать линию от позиции x, y к другой позиции x, y.
е. Графика. DrawLine (blackPen, 300, 200, 800, 200);
- Вы можете изменить свойства объекта пера, чтобы изменить его ширину, стиль штриха и начальную или конечную заглушку.
черная ручка. Ширина = 20;
черная ручка. DashStyle = Система. Рисунок. Drawing2D.DashStyle. Бросаться;
черная ручка. СтартКап = Система. Рисунок. Drawing2D.LineCap. СтрелкаЯкорь;
е. Графика. DrawLine (blackPen, 300, 200, 800, 200); - Нажмите зеленую кнопку воспроизведения в верхней части Visual Studio, чтобы увидеть изменения.
Как рисовать фигуры, такие как прямоугольники и круги
Вы можете использовать классы фигур для разных фигур или рисовать фигуры вручную на холсте.
- Создайте объект «Цвет и перо», как показано на предыдущих шагах. Затем используйте метод DrawRectangle() для создания прямоугольника. Аргументами являются координаты x и y верхней левой части прямоугольника, а также его ширина и высота.
Красный цвет = цвет. FromArgb (255, 255, 0, 0);
Ручка redPen = новая ручка (красная);
Красной ручкой. Ширина = 5;
е. Графика. DrawRectangle (redPen, 100, 100, 500, 200); - Вы также можете создать прямоугольник, используя класс Rectangle. Сначала создайте объект Rectangle. Аргументами также являются координаты x и y для верхнего левого угла, ширина и высота.
Прямоугольник прямоугольника = новый прямоугольник (100, 350, 500, 200);
- Используйте функцию DrawRectangle(), чтобы нарисовать прямоугольник. Вместо передачи x, y, ширины и высоты, как раньше, вы можете использовать объект Rectangle.
е. Графика. DrawRectangle (красное перо, прямоугольник);
- Нажмите зеленую кнопку воспроизведения в верхней части Visual Studio, чтобы увидеть изменения.
- Вернитесь к коду, чтобы нарисовать другие фигуры. Используйте функцию DrawEllipse(), чтобы нарисовать круг.
Когда вы рисуете круг, координаты x и y (x=400, y=150) относятся к верхнему левому углу круга, а не к центру круга.Зеленый цвет = цвет. FromArgb (255, 0, 255, 0);
Ручка greenPen = новая ручка (зеленая);
зеленыйПен. Ширина = 5;
е. Графика. DrawEllipse (greenPen, 400, 150, 400, 400); - Чтобы нарисовать другие фигуры, такие как треугольники или шестиугольники, используйте метод DrawPolygon(). Здесь вы можете указать список координат для представления точек фигуры.
Метод DrawPolygon() будет рисовать линии между указанными точками. Синий цвет = цвет. FromArgb (255, 0, 0, 255);
Ручка bluePen = новая ручка (синяя);
синяя ручка. Ширина = 5;
Координаты PointF[]ForTriangle = new PointF[] {
новый PointF(400, 150),
новый PointF(300, 300),
новый PointF(500, 300)
};
е. Графика. DrawPolygon(bluePen, координатыForTriangle);
Как использовать класс Brush для заливки фигур цветом
Вы можете использовать методы FillRectangle(), FillEllipses() или FillTriangle() для создания фигур со сплошным цветом.
- Сначала создайте объект кисти.
Фиолетовый цвет = Цвет. FromArgb (255, 128, 0, 0);
SolidBrush solidBrush = новая SolidBrush (фиолетовая); - Используйте методы FillRectangle(), FillEllipses() или FillTriangle(). Они работают так же, как функции рисования выше, за исключением того, что вместо Pen они используют объект Brush.
е. Графика. FillRectangle (solidBrush, 50, 50, 200, 250);
е. Графика. FillEllipse (solidBrush, 300, 50, 200, 200);
е. Графика. FillPolygon (solidBrush, new PointF[] { new PointF(700, 150), new PointF(600, 300), new PointF(800, 300) }); - Вы также можете ввести объект формы напрямую, вместо указания координат.
Прямоугольник прямоугольника = новый прямоугольник (100, 350, 500, 200);
е. Графика. FillRectangle (солидбраш, прямоугольник); - Используйте HatchBrush, чтобы заполнить фигуру другим стилем заливки, например горизонтальным или вертикальным узором.
Синий цвет = цвет. FromArgb (255, 0, 0, 255);
Зеленый цвет = цвет. FromArgb (255, 0, 255, 0);
HatchBrush HatchBrush = новый HatchBrush (HatchStyle. Горизонтальный, зеленый, синий);
е. Графика. FillRectangle (hatchBrush, 50, 50, 200, 250); - Вы можете использовать TextureBrush, чтобы заполнить фигуру изображением. Здесь создайте растровое изображение, указав на файл изображения. Вместо создания кисти с использованием цвета создайте ее с помощью изображения.
Растровое изображение = (растровое) изображение. FromFile(@"C:\Users\Sharp\Desktop\flag.bmp", true);
TextureBrush textureBrush = new TextureBrush (изображение);
е. Графика. FillRectangle (textureBrush, 100, 100, 500, 400);
Как отображать изображения на форме
Для визуализации изображения создайте объект управления PictureBox и добавьте его в форму.
- Создайте объект управления PictureBox, используя файл изображения.
Изображение PictureBox = новое PictureBox();
картина. ImageLocation = @"C:\Users\Sharl\Desktop\flagLarge.bmp"; - Установите размер изображения и добавьте его в форму, чтобы оно отображалось.
картина. Режим Размера Картины = Режим Размера Размера Картинной Ящики. Авто размер;
это. Управление. Добавить (картинку); - Нажмите зеленую кнопку запуска вверху, чтобы просмотреть изображение.
Добавление дополнительных фигур в форму Windows
Теперь вы должны понимать, как добавлять линии, фигуры и изображения в форму Windows. Вы можете комбинировать фигуры для создания новых фигур. Вы также можете поиграть со встроенными функциями для создания более сложных форм.
Стоит ли изучать ASP.NET в 2021 году?
Читать дальше
Похожие темы
- Программирование
- Программирование
Об авторе
Шарлин — технический писатель в MUO, а также работает полный рабочий день в сфере разработки программного обеспечения. Она имеет степень бакалавра информационных технологий и имеет предыдущий опыт работы в области обеспечения качества и преподавания в университете. Шарлин любит игры и игру на пианино.
Подпишитесь на нашу рассылку
Подпишитесь на нашу рассылку технических советов, обзоров, бесплатных электронных книг и эксклюзивных предложений!
Нажмите здесь, чтобы подписаться