Graphics and Multimedia - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

Graphics and Multimedia

Description:

Graphics method DrawString sets the current drawing font the font in which the ... 38 graphicsObject.DrawString(timesNewRoman.Name ... – PowerPoint PPT presentation

Number of Views:166
Avg rating:3.0/5.0
Slides: 21
Provided by: reha6
Category:

less

Transcript and Presenter's Notes

Title: Graphics and Multimedia


1
Graphics and Multimedia
2
OUTLINE
  • Font Control
  • Drawing Lines, Rectangles and Ovals
  • Drawing Arcs
  • Drawing a General Path

3
Font Control
  • Fonts
  • After a Font is created, its properties cannot be
    modified
  • Programmers must create a new Font object to be
    different
  • Font constructors
  • Must require a font name as an argument
  • They usually require the font size as an argument
  • And usually require the font style which is a
    member of
  • the FontStyle enumeration Bold, Italic,
    Regular, Strikeout, Underline.
  • Graphics method DrawString sets the current
    drawing fontthe font in which the text
    displaysto its Font argument.

4
Font Control
  • DrawString constructors
  • takes a String to display,
  • the display Font,
  • a Brush
  • and the x- and y-coordinates of the location for
    the Strings first character.

5
Font Control
GraphicsUnit argumentan enumeration that allows
users to specify the unit of measurement employed
to describe the font size. Members of the
GraphicsUnit enumeration include Point (1/72
inch), Display (1/75 inch), Document (1/300
inch), Millimeter, Inch and Pixel.
6
  • 1 ' Fig. 16.9 UsingFonts.vb
  • 2 ' Demonstrating various font settings.
  • 3
  • 4 Public Class FrmFonts
  • 5 Inherits System.Windows.Forms.Form
  • 6
  • 9 ' demonstrate various font and style
    settings
  • 10 Protected Overrides Sub OnPaint( ByVal
    paintEvent As PaintEventArgs)
  • 12
  • 13 Dim graphicsObject As Graphics
    paintEvent.Graphics
  • 14 Dim brush As SolidBrush New
    SolidBrush(Color.DarkBlue)
  • 15
  • 16 ' arial, 12 pt bold
  • 17 Dim style As FontStyle
    FontStyle.Bold
  • 18 Dim arial As Font New Font( New
    FontFamily("Arial"), 12, style)
  • 20
  • 21 ' times new roman, 12 pt regular
  • 22 style FontStyle.Regular
  • 23 Dim timesNewRoman As Font New Font(
    "Times New Roman", 12, style)

Creates a DarkBlue SolidBrush object (brush),
causing all strings drawn with that brush to
appear in DarkBlue
7
  • 31 ' tahoma, 18 pt strikeout
  • 32 style FontStyle.Strikeout
  • 33 Dim tahoma As Font New
    Font("Tahoma", 18, style)
  • 34
  • 35 graphicsObject.DrawString(arial.Name
    " 12 point bold.", arial, brush, 10, 10)
  • 37
  • 38 graphicsObject.DrawString(timesNewRoman
    .Name _
  • 39 " 12 point plain.", timesNewRoman,
    brush, 10, 30)
  • 40
  • 41 graphicsObject.DrawString(courierNew.Na
    me _
  • 42 " 16 point bold and italic.",
    courierNew, brush, 10, 54 )
  • 43
  • 44 graphicsObject.DrawString(tahoma.Name
    _
  • 45 " 18 point strikeout.", tahoma,
    brush, 10, 75)
  • 46 End Sub ' OnPaint
  • 47
  • 48 End Class ' FrmFonts

8
Drawing Lines, Rectangles and Ovals
  • Drawing shape outlines
  • Versions that take a Pen and four Integers are
    used
  • Drawing solid shapes
  • Versions that take a Brush and four Integers
  • Integer arguments
  • First two represent the coordinates of the
    upper-left corner of the shape or its enclosing
    area
  • Last two indicate the shapes width and height

9
Drawing Lines, Rectangles and Ovals
10
Drawing Lines, Rectangles and Ovals
Fig. 16.15 Ellipse bounded by a rectangle.
11
  • 1 ' Fig. 16.14 LinesRectanglesOvals.vb
  • 2 ' Demonstrating lines, rectangles, and
    ovals.
  • 3
  • 4 Public Class FrmDrawing
  • 5 Inherits System.Windows.Forms.Form
  • 6
  • 7 ' Visual Studio .NET generated code
  • 8
  • 9 ' display ovals lines, and rectangles
  • 10 Protected Overrides Sub OnPaint( _
  • 11 ByVal paintEvent As PaintEventArgs)
  • 12
  • 13 ' get graphics object
  • 14 Dim g As Graphics paintEvent.Graphics
  • 15 Dim brush As SolidBrush New
    SolidBrush(Color.Blue)
  • 16 Dim pen As Pen New
    Pen(Color.AliceBlue)
  • 17
  • 18 ' create filled rectangle
  • 19 g.FillRectangle(brush, 90, 30, 150,
    90)

12
  • 36 ' draw connecting lines
  • 37 g.DrawLine(pen, 380, 55, 380, 100)
  • 38 g.DrawLine(pen, 280, 55, 280, 100)
  • 39
  • 40 ' draw Ellipse outline
  • 41 g.DrawEllipse(pen, 280, 30, 100, 50)
  • 42 End Sub ' OnPaint
  • 43
  • 44 End Class ' FrmDrawing

13
Drawing Arcs
  • Arcs
  • Arcs are portions of ellipses.
  • Measured in degrees, beginning at the starting
    angle and continuing for a specified number of
    degrees, the arc angle.
  • An arc is said to sweep (traverse) its arc angle,
    beginning from its starting angle.
  • Measuring
  • Sweep in a clockwise direction, measured in
    positive degrees
  • Sweep in a counterclockwise direction, measured
    in negative degrees
  • Graphics methods used to draw arcs
  • DrawArc, DrawPie, and FillPie

14
Drawing Arcs
Fig. 16.16 Positive and negative arc angles.
15
Drawing Arcs
16
  • 1 ' Fig. 16.18 DrawArcs.vb
  • 2 ' Drawing various arcs on a form.
  • 3
  • 4 Public Class FrmArcTest
  • 5 Inherits System.Windows.Forms.Form
  • 8
  • 9 Protected Overrides Sub OnPaint( _
  • 10 ByVal paintEvent As PaintEventArgs)
  • 11
  • 12 ' get graphics object
  • 13 Dim graphicsObject As Graphics
    paintEvent.Graphics
  • 14 Dim rectangle1 As Rectangle New
    Rectangle(15, 35, 80, 80)
  • 15 Dim brush1 As SolidBrush New
    SolidBrush(Color.FireBrick)
  • 16 Dim pen1 As Pen New Pen(brush1, 1)
  • 17 Dim brush2 As SolidBrush New
    SolidBrush(Color.DarkBlue)
  • 18 Dim pen2 As Pen New Pen(brush2, 1)
  • 19
  • 20 ' start at 0 and sweep 360 degrees
  • 21 graphicsObject.DrawRectangle(pen1,
    rectangle1)

Draws a rectangle and then an arc inside the
rectangle
Changes the location of the Rectangle by setting
its Location property to a new Point
17
  • 34 ' start at 0 and sweep 360 degrees
  • 35 rectangle1.Location New Point(15,
    120)
  • 36 rectangle1.Size New Size(80, 40)
  • 37 graphicsObject.DrawRectangle(pen1,
    rectangle1)
  • 38 graphicsObject.FillPie(brush2,
    rectangle1, 0, 360)
  • 39
  • 40 ' start at 270 and sweep -90 degrees
  • 41 rectangle1.Location New Point(100,
    120)
  • 42 graphicsObject.DrawRectangle(pen1,
    rectangle1)
  • 43 graphicsObject.FillPie(brush2,
    rectangle1, 270, -90)
  • 44
  • 45 ' start at 0 and sweep -270 degrees
  • 46 rectangle1.Location New Point(185,
    120)
  • 47 graphicsObject.DrawRectangle(pen1,
    rectangle1)
  • 48 graphicsObject.FillPie(brush2,
    rectangle1, 0, -270)
  • 49 End Sub ' OnPaint
  • 50
  • 51 End Class ' FrmArcTest

Sets the Size property to a new Size object
18
Drawing a General Path
  • General path is a shape constructed from straight
    lines and complex curves.
  • TranslateTransform is a graphics method to
    indicate that the origin of an object should be
    translated to the coordinates (X,Y).
  • RotateTransform is a graphics method to move an
    object to the next position with a particular
    rotation angle in degree.
  • How to use

Dim graphicsObject As Graphics
e.Graphics graphicsObject.TranslateTransform(X,Y)
graphicsObject.RotateTransform(angle)
19
DrawStars.vb
  • 1 ' Fig. 16.22 DrawStars.vb
  • 2 ' Using paths to draw stars on a form.
  • 3
  • 4 Imports System.Drawing.Drawing2D
  • 5
  • 6 Public Class FrmDrawStars
  • 7 Inherits System.Windows.Forms.Form
  • 8
  • 9 ' Visual Studio .NET generated code
  • 10
  • 11 ' create path and draw stars along it
  • 12 Protected Overrides Sub OnPaint(ByVal e
    As PaintEventArgs)
  • 13 Dim graphicsObject As Graphics
    e.Graphics
  • 14 Dim i As Integer
  • 15 Dim random As Random New Random()
  • 16 Dim brush As SolidBrush _
  • 17 New SolidBrush(Color.DarkMagenta)
  • 18
  • 19 ' x and y points of path

Defines two Integer arrays, representing the x-
and y-coordinates of the points in the star
20
  • 36
  • 37 ' close shape
  • 38 star.CloseFigure()
  • 39
  • 40 ' rotate origin and draw stars in
    random colors
  • 41 For i 1 To 18
  • 42 graphicsObject.RotateTransform(20)
  • 43
  • 44 brush.Color Color.FromArgb(random.
    Next(200, 255), _
  • 45 random.Next(255),
    random.Next(255), random.Next(255))
  • 46
  • 47 graphicsObject.FillPath(brush,
    star)
  • 48 Next
  • 49
  • 50 End Sub ' OnPaint
  • 51
  • 52 End Class ' FrmDrawStars

Uses GraphicsPath method CloseFigure to complete
the shape
Draws the star 18 times, rotating it around the
origin
Uses Graphics method RotateTransform to move to
the next position on the form
Graphics method FillPath draws a filled version
of the star with the Brush created earlier
Write a Comment
User Comments (0)
About PowerShow.com