Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
3 views

Lecture 8-1 C# With SQL 3ed Class

This document provides an overview of using Windows Forms with C# for drawing graphics, detailing classes such as Graphics, Pen, Color, and Brush. It explains how to create shapes, handle paint events, and fill shapes with color using various methods. The document includes code examples for drawing lines, rectangles, ellipses, and polygons on a canvas.

Uploaded by

yousif
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Lecture 8-1 C# With SQL 3ed Class

This document provides an overview of using Windows Forms with C# for drawing graphics, detailing classes such as Graphics, Pen, Color, and Brush. It explains how to create shapes, handle paint events, and fill shapes with color using various methods. The document includes code examples for drawing lines, rectangles, ellipses, and polygons on a canvas.

Uploaded by

yousif
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

‫س‬ ‫ح‬‫ل‬‫ا‬ ‫ل‬ ‫ع‬ ‫س‬‫ق‬ ‫م‬ ‫ل‬ ‫مع‬‫كل عل الح س تكن ل جي ال‬

‫ م وم ا وب‬/ ‫ية وم ا وب و و و ا و اب‬


3ed Class

Subject: C# with SQL

Lecturer: Dr. Yousif A. Hamad


Lecture No 5
Windows Forms )Drawing Graphics(

Windows Forms uses the C# programming language. Its built-in classes and
methods allow you to draw various shapes onto a Windows Form canvas. These
include the Graphics, Pen, Color, and Brush classes.

Class Description

The Graphics class allows you to draw shapes and lines onto
the canvas. It includes methods such as:
Graphics • DrawLine(Pen, Point1, Point2)
• DrawRectangle(x, y, width, height)
• DrawPolygon(Pen, PointF[])

The Pen class allows you to specify the properties of a 'pen' tip
which you can use to draw your shapes. You can specify
Pen properties such as color, thickness, or dash style. Methods
include:
• SetLineCap(LineCap, LineCap, DashCap)

A color object made up of R (red), G (green), and B (blue)


Color values. You will need a color object for many of the built-in
methods that create shapes.

These brush classes derive from the "Brush" interface. These


SolidBrush,
classes allow you to color in blank spaces on the canvas. You
HatchBrush,
can also choose to fill the spaces using different patterns or
TextureBrush
textures. You can specify properties such as the color.

You can create objects based on these shapes, and use them
Rectangle, Line, wen calling methods such as DrawRectangle(). Instead of
Polygon, Ellipse passing the x, y, width, and height as arguments, you can
choose to pass an existing Rectangle object instead.
How to Add a Paint on Form Load Event Handler

First, add an event handler to draw shapes when the canvas loads.

1. Add a Paint function for the form.

private void Form1_Paint(object sender, PaintEventArgs e)


{
// Code goes here
}

2. Go into the Design View Tab.


3. In the Properties window, select the lightning icon to open the "Events" tab.
4. In "Paint", under "Appearance", select the Form1_Paint function. This will
execute the function when you run the application.

How to Draw Lines Onto a Windows Form Canvas

You can use a Color, Pen, and the DrawLine() method to draw lines on a canvas.

1. Inside the Form1_Paint() function, create a Color object with the color you
want the line to be. Then, create a Pen object to draw the line with.

Color black = Color.FromArgb (255, 0, 0, 0);


Pen blackPen = new Pen(black);

2. The DrawLine() method from the Graphics class will draw a line using the
pen. This will start drawing a line from an x, y position to another x, y
position.

e.Graphics.DrawLine (blackPen, 300, 200, 800, 200);

3. You can modify the properties for the pen object to change its width, dash
style, and start or end cap.

blackPen.Width = 20;
blackPen.DashStyle = System. Drawing. Drawing2D.DashStyle. Dash;
blackPen.StartCap = System.Drawing.Drawing2D.LineCap.ArrowAnchor;
e.Graphics.DrawLine(blackPen, 300, 200, 800, 200);

4. Press the green play button at the top of Visual Studio to see the changes.

How to Draw Shapes Such as Rectangles and Circles

You can use the shapes classes for different shapes, or draw shapes manually onto
the canvas.

1. Create a Color and Pen object as shown in the previous steps. Then, use the
DrawRectangle() method to create the rectangle. The arguments are the x
and y coordinates for the top-left of the rectangle, along with its width and
height.

Color red = Color.FromArgb(255, 255, 0, 0);


Pen redPen = new Pen(red);
redPen.Width = 5;
e.Graphics.DrawRectangle(redPen, 100, 100, 500, 200);

2. You can also create a rectangle using the Rectangle Class. First, create a
Rectangle object. The arguments are also the x and y coordinates for the top-
left corner, width, and height.

Rectangle rectangle = new Rectangle(100, 350, 500, 200);

3. Use the DrawRectangle() function to draw the rectangle. Instead of passing


the x, y, width, and height like before, you can use the Rectangle object
instead.

e.Graphics.DrawRectangle(redPen, rectangle);

4. Press the green play button at the top of Visual Studio to see the changes.
5. Go back to the code to draw other shapes. Use the DrawEllipse() function to
draw a circle.

Color green = Color.FromArgb(255, 0, 255, 0);


Pen greenPen = new Pen(green);
greenPen.Width = 5;
e.Graphics.DrawEllipse(greenPen, 400, 150, 400, 400);

When you draw a circle, the x and y coordinates (x=400, y=150) refer to the
top-left corner of the circle, not the center of the circle.

6. To draw other shapes such as triangles or hexagons, use the DrawPolygon()


method. Here you can specify a list of coordinates to represent the points of
the shape.

Color blue = Color.FromArgb(255, 0, 0, 255);


Pen bluePen = new Pen(blue);
bluePen.Width = 5;

PointF[] coordinatesForTriangle = new PointF[] {


new PointF(400, 150),
new PointF(300, 300),
new PointF(500, 300)
};

e.Graphics.DrawPolygon(bluePen, coordinatesForTriangle);
The DrawPolygon() method will draw lines between the points specified.

How to Use the Brush Class to Fill In Shapes With Color

You can use the FillRectangle(), FillEllipses() or FillTriangle() methods to create


shapes with a solid color.

1. First, create a brush object.

Color purple = Color.FromArgb(255, 128, 0, 0);


SolidBrush solidBrush = new SolidBrush(purple);

2. Use the FillRectangle(), FillEllipses() or FillTriangle() methods. They work


the same way as the draw functions above, except instead of a Pen, they use
a Brush object.

e.Graphics.FillRectangle(solidBrush, 50, 50, 200, 250);


e.Graphics.FillEllipse(solidBrush, 300, 50, 200, 200);
e.Graphics.FillPolygon(solidBrush, new PointF[] { new PointF(700, 150),
new PointF(600, 300), new PointF(800, 300) });
3. You can also input a shape object directly instead of providing coordinates.

Rectangle rectangle = new Rectangle (100, 350, 500, 200);


e.Graphics.FillRectangle (solidBrush, rectangle);

4. Use the HatchBrush to fill the shape using a different fill style, such as a
horizontal or vertical pattern.

Color blue = Color.FromArgb(255, 0, 0, 255);


Color green = Color.FromArgb(255, 0, 255, 0);
HatchBrush hatchBrush = new HatchBrush(HatchStyle.Horizontal, green,
blue);

You might also like