Chapter 12 Graphics in Windows and the Web

Slides:



Advertisements
Similar presentations
Chapter 9 Color, Sound and Graphics
Advertisements

COMPUTER PROGRAMMING I Objective 8.03 Apply Animation and Graphic Methods in a Windows Form (4%)
GUI and Swing, part 2 The illustrated edition. Scroll bars As we have previously seen, a JTextArea has a fixed size, but the amount of text that can be.
Chapter 13 Graphics, Animation, Sound, and Drag-and-Drop Copyright © 2011 by The McGraw-Hill Companies, Inc. All Rights Reserved. McGraw-Hill.
Graphics and Multimedia. Outline Introduction Graphics Contexts and Graphics Objects Color Control.
Graphics and Multimedia. Introduction The language contains many sophisticated drawing capabilities as part of namespace System.Drawing and the other.
Graphics Images – PictureBox control Drawing graphics - Graphics object Multimedia controls PictureBox control Image property – select image Choose how.
1 Chapter 26 D&D – Graphics Outline 26.1 Introduction 26.3 Graphics Contexts and Graphics Objects 26.4 Color Control 26.5 Font Control 26.6 Drawing Lines,
Lecture Set 13 Drawing Mouse and Keyboard Events Part A - Drawing.
Chapter 3 Working with Symbols and Interactivity.
Computer Programming and Basic Software Engineering 9 Building Graphical User Interface A Brief Introduction to GDI+ S.R.G. Fraser, Pro Visual C++/CLI.
Chapter 9 - VB 2008 by Schneider1 Chapter 9 – Additional Controls and Objects 9.1 List Boxes, Combo Boxes, and the File-Opening Control 9.2 Seven Elementary.
1 Chapter 9 – Additional Controls and Objects 9.1 List Boxes and Combo Boxes 9.2 Eight Additional Controls and Objects 9.3 Multiple-Form Objects 9.4 Graphics.
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Tutorial 26 – CheckWriter Application Introducing Graphics.
1 Windows Graphics. 2 Objectives You will be able to Use the Windows GDI+ to draw arbitrary figures and text on a Windows form. Add a handler for the.
C# Programming Lecture 4 “GDI+” PGL01/CSP/2006.
Graphics and Multimedia Part #2
COM148X1 Interactive Programming Lecture 6. Topics Today Generate Random Numbers Graphics Animation.
© 2011 Delmar, Cengage Learning Chapter 3 Working with Symbols and Interactivity.
Addison Wesley is an imprint of © 2010 Pearson Addison-Wesley. All rights reserved. Chapter 5 Working with Images Starting Out with Games & Graphics in.
Introduction to Flash. Topics What is Flash? What can you do with it? Simple animation Complex interactive web application, such as an online store. Starting.
Chapter 9 - VB.Net by Schneider1 Chapter 9 – Additional Controls and Objects 9.1 List Boxes, Combo Boxes, and the File-Opening Control The List Box Control.
1 Chapter 9 – Additional Controls and Objects 9.1 List Boxes and Combo Boxes 9.2 Eight Additional Controls and Objects 9.3 Multiple-Form Programs 9.4 Graphics.
Addison Wesley is an imprint of © 2010 Pearson Addison-Wesley. All rights reserved. Chapter 7 The Game Loop and Animation Starting Out with Games & Graphics.
Microsoft Visual Basic 2012 CHAPTER THREE Program Design and Coding.
T U T O R I A L  2009 Pearson Education, Inc. All rights reserved CheckWriter Application Introducing Graphics and Printing.
The PictureBox Control Prefix Prefix – pic Image Property PictureBox Image Property – Changes the image or file that appears inside of the PictureBox SizeMode.
McGraw-Hill © 2010 The McGraw-Hill Companies, Inc. All rights reserved. Chapter 13 Graphics, Animation, Sound and Drag-and-Drop.
Irwin/McGraw-Hill Copyright© 2000 by the McGraw-Hill Companies, Inc. PowerPoint® Presentation to accompany prepared by James T. Perry University of San.
Chapter 2 – Introduction to the Visual Studio .NET IDE
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Tutorial 21 - “Cat and Mouse” Painter Application.
1 Graphic Device Interface (GDI). 2 Class Form A Form is a representation of any window displayed in your application. The Form class can be used to create.
Visual Basic Programming Introduction VB is one of the High level language VB has evolved from the BASIC language. BASIC stands for Beginners All-purpose.
16.9 Introduction to Multimedia Visual Basic offers many convenient ways to include images and animations in programs Computing field decades ago mainly.
More Control Properties Part 10 dbg. Form Properties that Affect TitleBar ControlBox Property (T/F) Do you display the icon, associated menu to the left,
Images Part 11 dbg. 2 Images The form and several controls can display a number of different types of image files in the BackgroundImage Property. These.
Compound Data Types Part13dbg. 2 Point A Point is a simple built-in struct that stores a pair of screen coordinates. Instantiate a Point: Point aPoint.
GDI +. Graphics class's methods System.Drawing Graphics Objects.
Graphics and Multimedia 2 Lecture 8. OUTLINE Font Control Drawing Lines, Rectangles and Ovals Drawing a General Path.
Introducing Macromedia Flash 8
Dive Into® Visual Basic 2010 Express
Chapter 1: An Introduction to Visual Basic .NET
Microsoft Visual Basic 2005: Reloaded Second Edition
Chapter 1: An Introduction to Visual Basic 2015
Flash Interface, Commands and Functions
Chapter 2 – Introduction to the Visual Studio .NET IDE
Chapter 9 – Additional Controls and Objects
Lines, Curves, and Area Fill
Visual programming Chapter 1: Introduction
Computer Programming I
Graphics and Multimedia
Using Procedures and Exception Handling
Microsoft® Small Basic
Drawing Mouse and Keyboard Events Part A - Drawing
Chapter 5 Working with Images
Program and Graphical User Interface Design
Variables and Arithmetic Operations
Visual Basic.
Chapter 2 – Introduction to the Visual Studio .NET IDE
CASE Tools Graphical User Interface Programming Using C#
Chapter 9 – Additional Controls and Objects
DREAMWEAVER MX 2004 Chapter 3 Working with Tables
Working with Symbols and Interactivity
An Introduction to Computers and Visual Basic
Repetition and Multiple Forms
GUI Programming in Visual Studio .NET
Chapter 7 The Game Loop and Animation
CPT 450 Computer Graphics 3rd Lecture.
Lines, Curves and Area Fills
Presentation transcript:

Chapter 12 Graphics in Windows and the Web Programming In Visual Basic .NET

Graphics in Windows and the Web Graphics refers to any text, drawing, image, or icon that is displayed on the screen Windows Forms PictureBox control Can draw graphics shapes (circles, lines, rectangles) on a form or control Web Forms Image control © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.

The Graphics Environment Uses GDI+ technology for drawing graphics GDI+ is designed to be device-independent Code to draw a graphic is the same regardless of the output device © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.

Steps for Drawing Graphics Create a Graphics object to use as a drawing surface Instantiate a Pen or Brush object to draw with Call the drawing methods from the Graphics object © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.

The Paint Event Procedure Place code for drawing methods in the Paint event procedure for the form or control Graphics are redrawn every time form is repainted or rendered © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.

The Paint Event Procedure (continued) Declare a Graphics object Assign the Graphics property of the procedure's PaintEventArgs argument to the new Graphics object Private Sub Form1_Paint(ByVal sender As Object, _ ByVal e As System.Windows.Forms.PaintEventArgs) _ Handles MyBase.Paint ' Create a graphics object. Dim gr As Graphics = e.Graphics © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.

The Paint Event Procedure (continued) Also can create a graphic object by calling the CreateGraphics method Use to display a graphic from a procedure other than the Paint event ' Draw on the form. Me.CreateGraphics.MethodName ' Draw on a control. myGroupBox.CreateGraphics.MethodName © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.

Pen and Brush Objects Pen Brush Use to draw lines or outlined shapes such as rectangles or circles Properties: Width, Color Brush Use to create filled shapes Property: Color © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.

Pen and Brush Objects (continued) Width property Specifies the width of the stroke of a line or outlined shape created by Pen object Specified in pixels Default width = One pixel Color property Specifies color of lines drawn by Pen object and color of filled shapes drawn by Brush object Assign color using Color constants © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.

The Pen Class Constructors Examples Pen(Color) Pen(Color, Width) Dim redPen As New Pen(Color.Red) Dim widePen As New Pen(Color.Black, 10) © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.

The SolidBrush Class Constructor Example SolidBrush(Color) Dim blueBrush As New SolidBrush(Color.Blue) There are other Brush Classes: TextureBrush, HatchBrush, LinearGradientBrush, PathGradientBrush. See Help for more information. © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.

Graphic Shapes Drawn with Pen and Brush Objects Drawn with Brush Drawn with Pen © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.

The Coordinate System Graphics are measured from a starting point of 0,0 for the X and Y coordinates beginning in the upper-left corner X represents the horizontal position and Y is the vertical position The starting point depends on where the graphic is placed © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.

The Coordinate System (continued) 0,0 Position On Form Form 0,0 Position On PictureBox PictureBox © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.

The Coordinate System (continued) Each drawing method allows a specific starting position using X and Y coordinates Most of the drawing methods allow you to specify the position using either Point structure Size structure Rectangle structure © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.

The Point Structure Designed to hold the X and Y coordinates as a single unit Create a Point object and give it values for X and Y Use the object anywhere that accepts a Point structure as an argument Example Dim myStartingPoint As New Point(20, 10) © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.

The Size Structure Two components, specified in Pixels Width (specified first) Height Use the object anywhere that accepts a Size structure as an argument Example Dim myPictureSize As New Size(100, 20) © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.

The Rectangle Structure Defines a rectangular region Specified by Upper left corner (X and Y coordinates ) Size (width and height) Use the object anywhere that accepts a Rectangle structure as an argument Example Dim myOtherRectangle As New Rectangle(xInteger, yInteger, _ widthInteger, heightInteger) © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.

The Rectangle Structure (continued) May create Point, Size and Rectangle structures for single-precision floating-point values Specify the following structures PointF SizeF RectangleF © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.

Graphics Methods Two basic categories, draw and fill Draw methods create an outline shape with a Pen object Fill methods are solid shapes created with Brush objects Each method requires X and Y coordinates or a Point object, some require the size © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.

Graphics Methods - General Form DrawLine(Pen, x1Integer, y1Integer, x2Integer, y2Integer) DrawLine(Pen, Point1, Point2) DrawRectangle(Pen, xInteger, yInteger, widthInteger, heightInteger) DrawRectangle(Pen, Rectangle) FillRectangle(Brush, xInteger, yInteger, widthInteger, heightInteger) FillRectangle(Brush, Rectangle) FillEllipse(Brush, xInteger, yInteger, widthInteger, heightInteger) FillEllipse(Brush, Rectangle) © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.

Graphics Methods – Code Example Private Sub graphicsForm_Paint(ByVal sender As Object, _ ByVal e As System.Windows.Forms.PaintEventArgs) _ Handles MyBase.Paint Dim gr As Graphics = e.Graphics ' Create a graphics object. Dim redPen As New Pen(Color.Red) gr.DrawRectangle(redPen, 10, 10, 30, 30) ' Draw a red rectangle. gr.DrawLine(redPen, 50, 0, 50, 300) ' Draw a red line. Dim blueBrush As New SolidBrush(Color.Blue) gr.FillEllipse(blueBrush, 100, 100, 50, 50) ' Draw a blue filled circle. Dim widePen As New Pen(Color.Blue, 15) gr.DrawLine(widePen, 300, 0, 300, 300) ' Draw a fat blue line. End Sub © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.

Selected Methods from the Graphics Class Clear Dispose DrawArc DrawLine DrawEllipse DrawRectangle DrawPie DrawString FillEllipse FillPie FillRectangle See Help for more information on Graphics Methods: Contents > Visual Studio .NET > .NET Framework > Programming with the .NET Framework > Drawing and Editing Images > About GDI+ Managed Code > Lines, Curves, and Shapes © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.

Random Numbers Random class contains methods to return random numbers of different data types To generate a different series for each run, use an integer value when instantiating an object from the Random class (seeding the random number generator) Can use system date to get different seed for each execution of code Generate random numbers using the Random object’s Next method © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.

The Random.Next Method General Form Examples ' Any positive integer number. Object.Next( ) ' A positive integer up to the value specified. Object.Next(maximumValueInteger) ' A positive integer in the range specified. Object.Next(minimumValueInteger, maximumValueInteger) ' Return an integer in the range 0 – 10. randomInteger = generateRandom.Next(10) ' Return an integer in the range 0 to the width of the form. randomNumberInteger = generateRandom.Next(1, Me.Width) © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.

Simple Animation Possible approaches Display an animated .gif file in a PictureBox Replace one graphic with another Move a picture Rotate through a series of pictures Create graphics with various graphics methods On a Web page display animated .gif files or use a scripting language or Java Applets and avoid roundtrips to the server © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.

Controlling Pictures at Run Time To speed execution, load pictures into controls and set Visible property to True at run time Use the FromFile Method to load a picture at run time Requires file name and path Store image files in Bin folder to eliminate need for path © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.

Controlling Pictures at Run Time (continued) Remove a picture from the display Set Visible property to False or Use the Nothing constant Examples logoPictureBox.Visible = False logoPictureBox.Image = Nothing © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.

Switching Images Replace one picture with another Use images (or icons) of similar sizes May use images (or icons) with opposite states (open/closed, etc.) © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.

Moving a Picture Change the Left and Top properties OR, better Use the control's SetBounds Method which produces a smoother-appearing move © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.

SetBounds Method Use to move a control or change its size General Form Examples SetBounds(xInteger, yInteger, widthInteger, heightInteger) planePictureBox.SetBounds(xInteger, yInteger, planeWidth, planeHeight) enginePictureBox.SetBounds(xInteger, yInteger, widthInteger, heightInteger) © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.

The Timer Component Cause events to occur at a set interval with its Tick event Useful for animation; move or change an image each time the Tick event occurs Set value at run time or design time © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.

The Timer Component (continued) Interval property Between 0 and 65,535 milliseconds 1,000 milliseconds = 1 second Enabled property False (default) ==> Do not run Tick event True ==> Run Tick event at designated interval Tick event Occurs each time the Timer's designated interval elapses, if Enabled = True © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.

The Scroll Bar Controls Horizontal scroll bars Vertical scroll bars Use to scroll through a document or a window Use to control items that have a range of values such as sound level, color, or size Can be changed in small or large increments © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.

Scroll Bar Properties Together represent a range of values Minimum Minimum value Maximum Maximum value SmallChange Distance to move when user clicks scroll arrows LargeChange Distance to move when user clicks gray area of scroll bar or presses Page-Up or Page-Down keys © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.

Scroll Bar Properties (continued) Minimum value (Minimum property) Scroll Arrow (SmallChange property) Scroll Box (Value property) Gray Area (LargeChange property) Maximum value (Maximum property) © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.

Scroll Bar Properties (continued) Value Property Indicates the current position of the scroll box and the corresponding value within the scroll bar User clicks up Scroll Arrow Value property decreases by the amount of the SmallChange unless Minimum has been reached User clicks down Scroll Arrow Value property increases by the amount of the SmallChange unless Maximum has been reached © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.

Scroll Bar Events ValueChanged event Scroll event Occurs anytime the Value property changes, by user action or in code Scroll event Occurs when user drags the scroll box As long as user continues to drag scroll box this event continues to occur Only when user releases scroll box will Scroll event cease and ValueChanged event occur © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.