ARTICLE

GDI+ Samples - Rectangles, Ellipses, and 3D in VB.NET

Posted by Jayant Mukharjee Articles | Visual Basic .NET November 10, 2012
The sample code in this article shows you how to use GDI+ and VB.NET to draw rectangles, ellipses, and 3D graphics objects.
Reader Level:
Download Files:
 

Here are three sample examples on GDI+ - Rectangle, Ellipse, and 3D.

This source code is intended only for Amateur\Beginners & this Self Explanatory program.

'Rectangle.vb
Imports System
Imports System.WinForms
Imports System.Drawing
Imports System.Drawing.Drawing2D
Namespace Gph
Public Class Rectangle
Inherits Form
Private bgBrush As Brush
Public Sub New() 'Constructor - Initialising Everything
SetStyle(ControlStyles.Opaque, 
True)
Size = 
New Size(450, 400)
[Text] = "Rectangle Tutorial - Jayant"
'Now create the brush we are going to use to paint the background
bgBrush = New SolidBrush(Color.Blue)
End Sub 
'New
Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
Dim g As Graphics = e.Graphics
e.Graphics.SmoothingMode = SmoothingMode.AntiAlias
'Fill the background using Solid brush and then apply a white wash 
g.FillRectangle(bgBrush, ClientRectangle)
g.FillRectangle(
New SolidBrush(Color.FromARGB(180, Color.White)), ClientRectangle)
'Example of System.Drawing.Drawing2D 
'Add a circle that is filled with a translucent hatch 
Dim hb As New HatchBrush(HatchStyle.ForwardDiagonal, Color.Green, Color.FromARGB(100, Color.Yellow))
g.FillRectangle(hb, 100, 10, 100, 100)
'Example of System.Drawing.Drawing2D
'Add a circle that is filled with a Solid Green 
Dim br = New SolidBrush(Color.Green)
g.FillRectangle(br, 250, 10, 150, 50)
'Without filling in the color
'An example of System.Drawing
Dim pn As New Pen(Color.Red)
g.DrawRectangle(pn, 100, 150, 100, 50)
End Sub 
'OnPaint
Public Shared Sub Main()
Application.Run(
New Rectangle)
End Sub 'Main
End Class 'Rectangle
End
 Namespace 'Gph

This source code is intended only for Amateur\Beginners & this Self Explanatory program.

To Compile

vbc /r:System.dll /r:System.Drawing.dll /r:System.WinForms.dll 
/r:Microsoft.Win32.InterOp.dll /out:Ellipse.exe Ellipse.vb

'Ellipse.vb
Imports System
Imports System.WinForms
Imports System.Drawing
Imports System.Drawing.Drawing2D
Namespace Gph
Public Class Ellipse
Inherits Form
Private bgBrush As Brush
Public Sub New() 'Constructor - Initialising Everything
SetStyle(ControlStyles.Opaque, 
True)
Size = 
New Size(450, 400)
[Text] = "Ellipse Tutorial - Jayant"
'Now create the brush we are going to use to paint the background
bgBrush = New SolidBrush(Color.Blue)
End Sub 
'New
Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
Dim g As Graphics = e.Graphics
e.Graphics.SmoothingMode = SmoothingMode.AntiAlias
'Fill the background using Solid brush and then apply a white wash 
g.FillRectangle(bgBrush, ClientRectangle)
g.FillRectangle(
New SolidBrush(Color.FromARGB(180, Color.White)), ClientRectangle)
'Example of System.Drawing.Drawing2D 
'Add a circle that is filled with a translucent hatch 
Dim hb As New HatchBrush(HatchStyle.ForwardDiagonal, Color.Green, Color.FromARGB(100, Color.Yellow))
g.FillEllipse(hb, 100, 10, 100, 100)
'Example of System.Drawing.Drawing2D
'Add a circle that is filled with a Solid Green 
Dim br = New SolidBrush(Color.Green)
g.FillEllipse(br, 250, 10, 150, 50)
'Without filling in the color
'An example of System.Drawing
Dim pn As New Pen(Color.Red)
g.DrawEllipse(pn, 100, 150, 100, 50)
End Sub 
'OnPaint
Public Shared Sub Main()
Application.Run(
New Ellipse)
End Sub 'Main
End Class 'Ellipse
End Namespace 'Gph

Source Code

This source code is intended only for Amateur\Beginners & this Self Explanatory program.

To Compile

vbc /r:System.dll /r:System.Drawing.dll /r:System.WinForms.dll 
/r:Microsoft.Win32.InterOp.dll /out:Draw3D.exe Draw3D.vb

'Draw3D.vb
Imports System
Imports System.WinForms
Imports System.Drawing
Imports System.Drawing.Drawing2D
Namespace Gph
Public Class Draw3D
Inherits Form
Private bgBrush As Brush
Public Sub New() 'Constructor - Initialising Everything
SetStyle(ControlStyles.Opaque, 
True)
Size = 
New Size(450, 400)
[Text] = "Draw3D Tutorial - Jayant"
'Now create the brush we are going to use to paint the background
bgBrush = New SolidBrush(Color.Blue)
End Sub 
'New
Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
Dim g As Graphics = e.Graphics
e.Graphics.SmoothingMode = SmoothingMode.AntiAlias
'Fill the background using Solid brush and then apply a white wash 
g.FillRectangle(bgBrush, ClientRectangle)
g.FillRectangle(
New SolidBrush(Color.FromARGB(180, Color.White)), ClientRectangle)
'Without filling in the color
'An example of System.Drawing 
'The output will be slow if any one can increase the output speed then tell me how to do that
ControlPaint.DrawBorder3D(g, 50, 15, 100, 50, Border3DStyle.Adjust) 
'It will not be seen 
g.DrawString("Adjust", Me.Font, New SolidBrush(Color.Red), New RectangleF(50 + 50, 15 + 25, 100, 50))
ControlPaint.DrawBorder3D(g, 160, 15, 100, 50, Border3DStyle.Bump)
g.DrawString("Bump", Me.Font, New SolidBrush(Color.Red), New RectangleF(160 + 50, 15 + 25, 100, 50))
ControlPaint.DrawBorder3D(g, 50, 75, 100, 50, Border3DStyle.Etched)
ControlPaint.DrawBorder3D(g, 160, 75, 100, 50, Border3DStyle.Flat)ControlPaint.DrawBorder3D(g, 50, 135, 100, 50, Border3DStyle.Raised)ControlPaint.DrawBorder3D(g, 160, 135, 100, 50, Border3DStyle.RaisedInner)ControlPaint.DrawBorder3D(g, 50, 195, 100, 50, Border3DStyle.RaisedOuter)ControlPaint.DrawBorder3D(g, 160, 195, 100, 50, Border3DStyle.Sunken)ControlPaint.DrawBorder3D(g, 50, 255, 100, 50, Border3DStyle.SunkenInner)ControlPaint.DrawBorder3D(g, 160, 255, 100, 50, Border3DStyle.SunkenOuter)
End Sub 'OnPaint
Public Shared Sub Main()
Application.Run(
New Draw3D)
End Sub 'Main
End Class 'Draw3D
End
 Namespace 'Gph

COMMENT USING

Trending up