Нарисовать прямоугольник windows forms

Содержание
  1. Практическое руководство. Рисование прямоугольников с помощью пера How to: Use a Pen to Draw Rectangles
  2. Пример Example
  3. Компиляция кода Compiling the Code
  4. Рисование прямоугольника в pictureBox мышью
  5. Практическое руководство. Создание графических объектов для рисования How to: Create Graphics Objects for Drawing
  6. Создание графического объекта Creating a Graphics Object
  7. Создание графического объекта To create a graphics object
  8. PaintEventArgs в обработчике событий Paint PaintEventArgs in the Paint Event Handler
  9. Получение ссылки на объект Graphics из PaintEventArgs в событии Paint To obtain a reference to a Graphics object from the PaintEventArgs in the Paint event
  10. Метод CreateGraphics CreateGraphics Method
  11. Создание графического объекта с помощью метода CreateGraphics To create a Graphics object with the CreateGraphics method
  12. Создание из объекта Image Create from an Image Object
  13. Создание графического объекта из изображения To create a Graphics object from an Image
  14. Рисование фигур и изображений и управление ими Drawing and Manipulating Shapes and Images
  15. Использование созданного объекта Graphics To use the Graphics object you have created
  16. Перья, линии и прямоугольники в GDI+ Pens, Lines, and Rectangles in GDI+
  17. Рисование линии Drawing a Line
  18. Создание пера Constructing a Pen
  19. Пунктирные линии и концы строк Dashed Lines and Line Caps
  20. Рисование прямоугольника Drawing a Rectangle

Практическое руководство. Рисование прямоугольников с помощью пера How to: Use a Pen to Draw Rectangles

Для рисования прямоугольников необходим Graphics объект и Pen объект. To draw rectangles, you need a Graphics object and a Pen object. GraphicsОбъект предоставляет DrawRectangle метод, а Pen объект сохраняет функции линии, такие как цвет и ширина. The Graphics object provides the DrawRectangle method, and the Pen object stores features of the line, such as color and width.

Пример Example

В следующем примере демонстрируется рисование прямоугольника с верхним левым углом в точке (10, 10). The following example draws a rectangle with its upper-left corner at (10, 10). Ширина прямоугольника равна 100 и высоте 50. The rectangle has a width of 100 and a height of 50. Второй аргумент, передаваемый Pen конструктору, указывает, что ширина пера равна 5 пикселам. The second argument passed to the Pen constructor indicates that the pen width is 5 pixels.

При прорисовке прямоугольника перо центрируется по границе прямоугольника. When the rectangle is drawn, the pen is centered on the rectangle’s boundary. Так как ширина пера равна 5, стороны прямоугольника выводятся в ширину 5 пикселей, то есть 1 пиксель рисуется на границе, 2 пиксела нарисованы внутри, а 2 пиксела — снаружи. Because the pen width is 5, the sides of the rectangle are drawn 5 pixels wide, such that 1 pixel is drawn on the boundary itself, 2 pixels are drawn on the inside, and 2 pixels are drawn on the outside. Дополнительные сведения о выравнивании пера см. в разделе как задать ширину и выравнивание пера. For more details on pen alignment, see How to: Set Pen Width and Alignment.

На следующем рисунке показан итоговый прямоугольник. The following illustration shows the resulting rectangle. Пунктирные линии показывают, где будет нарисован прямоугольник, если толщина пера была равна одному пикселю. The dotted lines show where the rectangle would have been drawn if the pen width had been one pixel. Увеличенное представление верхнего левого угла прямоугольника показывает, что толстые черные линии центрируются по пунктирным линиям. The enlarged view of the upper-left corner of the rectangle shows that the thick black lines are centered on those dotted lines.

Компиляция кода Compiling the Code

Предыдущий пример предназначен для использования с Windows Forms и требует PaintEventArgs e , что является параметром Paint обработчика событий. The preceding example is designed for use with Windows Forms, and it requires PaintEventArgs e , which is a parameter of the Paint event handler.

Рисование прямоугольника в pictureBox мышью

Всем привет! У меня вот такая проблема.. на форме размещен pictureBox и нужно нарисовать, используя события мыши прямоугольник. Дело в том что DrawRectangle рисует только вниз и в право, а нужно чтобы прямоугольник рисовался во все стороны. В общем то рисование прямоугольника вверх лево реализовать удалось а на остальное мозгов не хватило . Пожалуйста момогите помогите!!

Рисование прямоугольника мышью: фон PictureBox становится черным
Всё просто. необходимо мышью нарисовать прямоугольник на picturebox Прямоугольник рисуется, но.

Рисование круга мышью на PictureBox
Доброго времени суток, в ходе обучения возник вопрос «а как сделать круг» из имеющиеся функции.

Рисование прямоугольника на picturebox
На форме находится picturebox, на котором нужно нарисовать прямоугольник. В метод Draw с помощью.

Читайте также:  Linux сколько памяти использует процессы

Рисование прямоугольника на PictureBox с помощью мыши
Добрый день. Можете подсказать элементарное рисование на PictureBox прямоугольника мышью. Заранее.

Все остальные события для MouseMove,MouseDown,MouseUp,pictureBox_Paint делаю в точности, как у вас.

При этом прямоугольник, все равно рисуется даже без нажатия кнопки.
Пробовала сделать так:

Ну в общем то поспрашивал у своих коллег и решил проблему.. скинул тут код:

тут задаются начальные координаты:

Дело в том что при рисовании вверх право и вниз лево возникали некие несоответствия при подщете координат, т.е какие то из x,y или х0,у0 становились отрицательными, но все помогло исправить функция Math.Abs();

Прошу прощение что так поздно отвечаю! Но лучше поздно, чем никогда

Тут определение переменных:

Петррр, такой вопрос. А если поместить в picturebox картинку, у которой размер подогнан под размер picturebox-а (что-то вроде отмасштабирована), то как можно узнать (пересчитать) начальную и конечную точки прямоугольника?

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

Практическое руководство. Создание графических объектов для рисования How to: Create Graphics Objects for Drawing

Прежде чем рисовать линии и фигуры, отображать текст или отображать изображения и управлять ими с помощью GDI+, необходимо создать Graphics объект. Before you can draw lines and shapes, render text, or display and manipulate images with GDI+, you need to create a Graphics object. GraphicsОбъект представляет поверхность рисования GDI+, а — объект, используемый для создания графических изображений. The Graphics object represents a GDI+ drawing surface, and is the object that is used to create graphical images.

Работа с графикой состоит из двух этапов. There are two steps in working with graphics:

Создание Graphics объекта. Creating a Graphics object.

Использование Graphics объекта для рисования линий и фигур, отображения текста или отображения изображений и управления ими. Using the Graphics object to draw lines and shapes, render text, or display and manipulate images.

Создание графического объекта Creating a Graphics Object

Графический объект может быть создан различными способами. A graphics object can be created in a variety of ways.

Создание графического объекта To create a graphics object

Получение ссылки на графический объект в составе PaintEventArgs Paint события формы или элемента управления. Receive a reference to a graphics object as part of the PaintEventArgs in the Paint event of a form or control. Обычно это способ получения ссылки на графический объект при создании кода рисования для элемента управления. This is usually how you obtain a reference to a graphics object when creating painting code for a control. Аналогично, объект Graphics можно также получить как свойство объекта PrintPageEventArgs при обработке PrintPage события для PrintDocument . Similarly, you can also obtain a graphics object as a property of the PrintPageEventArgs when handling the PrintPage event for a PrintDocument.

Вызовите CreateGraphics метод элемента управления или формы, чтобы получить ссылку на Graphics объект, представляющий поверхность рисования этого элемента управления или формы. Call the CreateGraphics method of a control or form to obtain a reference to a Graphics object that represents the drawing surface of that control or form. Используйте этот метод, если требуется рисовать на форме или элементе управления, который уже существует. Use this method if you want to draw on a form or control that already exists.

Создайте Graphics объект из любого объекта, наследующего от Image . Create a Graphics object from any object that inherits from Image. Этот подход удобен, если требуется изменить уже существующий образ. This approach is useful when you want to alter an already existing image.

Следующие разделы содержат сведения о каждом из этих процессов. The following sections give details about each of these processes.

PaintEventArgs в обработчике событий Paint PaintEventArgs in the Paint Event Handler

При программировании PaintEventHandler для элементов управления или PrintPage для PrintDocument объект Graphics предоставляется как одно из свойств PaintEventArgs или PrintPageEventArgs . When programming the PaintEventHandler for controls or the PrintPage for a PrintDocument, a graphics object is provided as one of the properties of PaintEventArgs or PrintPageEventArgs.

Получение ссылки на объект Graphics из PaintEventArgs в событии Paint To obtain a reference to a Graphics object from the PaintEventArgs in the Paint event

Объявите Graphics объект. Declare the Graphics object.

Читайте также:  Снести windows с биоса

Назначьте переменную для ссылки на Graphics объект, передаваемый как часть PaintEventArgs . Assign the variable to refer to the Graphics object passed as part of the PaintEventArgs.

Вставка кода для заполнения формы или элемента управления. Insert code to paint the form or control.

В следующем примере показано, как ссылаться на Graphics объект из PaintEventArgs в Paint событии. The following example shows how to reference a Graphics object from the PaintEventArgs in the Paint event:

Метод CreateGraphics CreateGraphics Method

Можно также использовать CreateGraphics метод элемента управления или формы для получения ссылки на Graphics объект, представляющий поверхность рисования этого элемента управления или формы. You can also use the CreateGraphics method of a control or form to obtain a reference to a Graphics object that represents the drawing surface of that control or form.

Создание графического объекта с помощью метода CreateGraphics To create a Graphics object with the CreateGraphics method

Вызовите CreateGraphics метод формы или элемента управления, для которого требуется отобразить графические объекты. Call the CreateGraphics method of the form or control upon which you want to render graphics.

Создание из объекта Image Create from an Image Object

Кроме того, можно создать графический объект из любого объекта, производного от Image класса. Additionally, you can create a graphics object from any object that derives from the Image class.

Создание графического объекта из изображения To create a Graphics object from an Image

Вызовите Graphics.FromImage метод, указав имя переменной изображения, из которой нужно создать Graphics объект. Call the Graphics.FromImage method, supplying the name of the Image variable from which you want to create a Graphics object.

В следующем примере показано, как использовать Bitmap объект: The following example shows how to use a Bitmap object:

Создавать объекты можно только Graphics из неиндексированных BMP-файлов, таких как 16-разрядные, 24-разрядные и 32-битовые BMP. You can only create Graphics objects from nonindexed .bmp files, such as 16-bit, 24-bit, and 32-bit .bmp files. Каждый пиксель неиндексированных BMP-файлов содержит цвет, в отличие от пикселов индексированных BMP-файлов, которые содержат индекс для таблицы цветов. Each pixel of nonindexed .bmp files holds a color, in contrast to pixels of indexed .bmp files, which hold an index to a color table.

Рисование фигур и изображений и управление ими Drawing and Manipulating Shapes and Images

После создания Graphics объект может использоваться для рисования линий и фигур, отображения текста или отображения изображений и управления ими. After it is created, a Graphics object may be used to draw lines and shapes, render text, or display and manipulate images. Объекты Principal, используемые с Graphics объектом: The principal objects that are used with the Graphics object are:

PenКласс, используемый для рисования линий, структурирования фигур или визуализации других геометрических представлений. The Pen class—Used for drawing lines, outlining shapes, or rendering other geometric representations.

BrushКласс, используемый для заливки областей графических объектов, таких как заполненные фигуры, изображения или текст. The Brush class—Used for filling areas of graphics, such as filled shapes, images, or text.

FontКласс — содержит описание фигур, используемых при отрисовке текста. The Font class—Provides a description of what shapes to use when rendering text.

ColorСтруктура — представляет различные отображаемые цвета. The Color structure—Represents the different colors to display.

Использование созданного объекта Graphics To use the Graphics object you have created

Для рисования нужного объекта выполните действия с соответствующим объектом, приведенным выше. Work with the appropriate object listed above to draw what you need.

Дополнительные сведения см. в следующих разделах: For more information, see the following topics:

Перья, линии и прямоугольники в GDI+ Pens, Lines, and Rectangles in GDI+

Для рисования линий с помощью GDI+ необходимо создать Graphics объект и Pen объект. To draw lines with GDI+ you need to create a Graphics object and a Pen object. GraphicsОбъект предоставляет методы, которые на самом деле выполняют рисование, а Pen объект сохраняет атрибуты, такие как цвет линии, ширина и стиль. The Graphics object provides the methods that actually do the drawing, and the Pen object stores attributes, such as line color, width, and style.

Рисование линии Drawing a Line

Чтобы нарисовать линию, вызовите DrawLine метод Graphics объекта. To draw a line, call the DrawLine method of the Graphics object. PenОбъект передается в метод в качестве одного из аргументов DrawLine . The Pen object is passed as one of the arguments to the DrawLine method. В следующем примере рисуется линия с точки (4, 2) до точки (12, 6): The following example draws a line from the point (4, 2) to the point (12, 6):

Читайте также:  Как сделать чтобы показывалось расширение файла windows

DrawLine является перегруженным методом Graphics класса, поэтому его можно передать с аргументами несколькими способами. DrawLine is an overloaded method of the Graphics class, so there are several ways you can supply it with arguments. Например, можно создать два Point объекта и передать Point объекты в качестве аргументов в DrawLine метод: For example, you can construct two Point objects and pass the Point objects as arguments to the DrawLine method:

Создание пера Constructing a Pen

При построении объекта можно указать определенные атрибуты Pen . You can specify certain attributes when you construct a Pen object. Например, один Pen конструктор позволяет указать цвет и ширину. For example, one Pen constructor allows you to specify color and width. В следующем примере рисуется синяя линия толщины 2 из (0, 0) до (60, 30): The following example draws a blue line of width 2 from (0, 0) to (60, 30):

Пунктирные линии и концы строк Dashed Lines and Line Caps

PenОбъект также предоставляет свойства, такие как DashStyle , которые можно использовать для указания функций линии. The Pen object also exposes properties, such as DashStyle, that you can use to specify features of the line. В следующем примере пунктирная линия рисуется из (100, 50) в (300, 80): The following example draws a dashed line from (100, 50) to (300, 80):

Свойства объекта можно использовать Pen для задания большего числа атрибутов линии. You can use the properties of the Pen object to set many more attributes of the line. StartCapСвойства и EndCap определяют внешний вид концов линии; концы могут быть плоскими, квадратными, скругленными, треугольными или настраиваемыми фигурами. The StartCap and EndCap properties specify the appearance of the ends of the line; the ends can be flat, square, rounded, triangular, or a custom shape. LineJoinСвойство позволяет указать, будут ли Соединенные линии отсечены друг от друга (соединены с острыми углами), рельефными, скругленными или обрезанными. The LineJoin property lets you specify whether connected lines are mitered (joined with sharp corners), beveled, rounded, or clipped. На следующем рисунке показаны линии с различными стилями крепления и объединения. The following illustration shows lines with various cap and join styles.

Рисование прямоугольника Drawing a Rectangle

Рисование прямоугольников с помощью GDI+ похоже на рисование линий. Drawing rectangles with GDI+ is similar to drawing lines. Чтобы нарисовать прямоугольник, необходим Graphics объект и Pen объект. To draw a rectangle, you need a Graphics object and a Pen object. GraphicsОбъект предоставляет DrawRectangle метод, а Pen объект сохраняет атрибуты, такие как толщина линии и цвет. The Graphics object provides a DrawRectangle method, and the Pen object stores attributes, such as line width and color. PenОбъект передается в метод в качестве одного из аргументов DrawRectangle . The Pen object is passed as one of the arguments to the DrawRectangle method. В следующем примере показано рисование прямоугольника с верхним левым углом в (100, 50), шириной 80 и высотой 40: The following example draws a rectangle with its upper-left corner at (100, 50), a width of 80, and a height of 40:

DrawRectangle является перегруженным методом Graphics класса, поэтому его можно передать с аргументами несколькими способами. DrawRectangle is an overloaded method of the Graphics class, so there are several ways you can supply it with arguments. Например, можно создать Rectangle объект и передать Rectangle объект в DrawRectangle метод в качестве аргумента: For example, you can construct a Rectangle object and pass the Rectangle object to the DrawRectangle method as an argument:

RectangleОбъект содержит методы и свойства для управления и сбора сведений об этом прямоугольнике. A Rectangle object has methods and properties for manipulating and gathering information about the rectangle. Например, Inflate Offset методы и изменяют размер и расположение прямоугольника. For example, the Inflate and Offset methods change the size and position of the rectangle. IntersectsWithМетод сообщает, пересекается ли прямоугольник с другим заданным прямоугольником, и Contains метод сообщает, находится ли заданная точка внутри прямоугольника. The IntersectsWith method tells you whether the rectangle intersects another given rectangle, and the Contains method tells you whether a given point is inside the rectangle.

Оцените статью