This Wrox Blox shows you how to add graphics to Visual Basic 2008 applications by explaining fundamental graphics techniques such as: drawing shapes with different colors and line styles; filling areas with colors, gradients, and patterns; drawing text that is properly aligned, sized, and clipped exactly where you want it; manipulating images and saving results in bitmap, JPEG, and other types of files. Also covered are instructions for how to greatly increase your graphics capabilities using transformations, which allow you to move, stretch, or rotate graphics. They also let you work in coordinate systems that make sense for your application. The author also describes techniques for using the above in printouts, describing the sequence of events that produce a printout and show how to generate and preview printouts, with examples which show how to wrap long chunks of text across multiple pages, if necessary.
In addition, you will learn about two powerful new graphic tools that were introduced with .NET Framework 3.0: WPF graphics and FlowDocuments. XAML graphic commands allow a WPF application to draw and fill the same kinds of shapes that a program can draw by using graphics objects.
Finally, a discussion on the FlowDocument object shows you how to define items that should be flowed across multiple pages as space permits. This lets you display text, graphics, controls, and other items that automatically flow across page breaks. FlowDocument viewers make displaying these documents easy for you, and simplifies the user's reading of the documents.
This Wrox Blox also contains 35 example programs written in Visual Basic 2008, although most of the code works in previous versions of Visual Basic .NET as well. The most notable exceptions are WPF graphics and FlowDocuments, both of which require WPF provided in .NET Framework 3.0 and later.
Table of Contents
Section 1: Using Graphics, Pens, and Brushes 2
Getting a Graphics Object 3
Using a Graphics Object 5
Creating Pens 8
Creating Brushes 11
Section 1 Wrap-up 13
Section 2: Using Advanced Pens and Brushes 14
Custom Dash Patterns 14
Longitudinal Stripes 16
Custom End Caps 17
Linear Gradient Brushes 18
Path Gradient Brushes 20
Section 2 Wrap-up 21
Section 3: Drawing Text 22
Drawing Simple Text 22
Using Layout Rectangles 23
Section 3 Wrap-up 27
Section 4: Manipulating Images 27
Creating and Loading Bitmaps 27
Manipulating Bitmaps 29
Saving Image Files 32
Section 4 Wrap-Up 33
Section 5: Using Transformations 33
Basic Transformations 33
World Coordinate Mapping 36
Section 5 Wrap-up 40
Section 6: Printing 40
Using PrintPage 41
Using Other Event Handlers 44
Printing Transformations 45
Section 6 Wrap-up 48
Section 7: Using WPF Graphics 48
Decorative Controls 49
Shape Controls 49
Brushes 53
ImageBrush 56
Section 7 Wrap-up 57
Section 8: Building FlowDocuments 57
BlockUIContainer 58
List 58
Paragraph 58
Section 58
Table 58
Section 8 Wrap-up 60
Conclusion 61
About Rod Stephens 62
Usage Rights for Wiley Wrox Blox
Any Wrox Blox you purchase from this site will come with certain restrictions that allow Wiley to protect the copyrights of its products. After you purchase and download this title, you:
Are entitled to three downloads
Are entitled to make a backup copy of the file for your own use
Are entitled to print the Wrox Blox for your own use
Are entitled to make annotations and comments in the Wrox Blox file for your own use
May not lend, sell or give the Wrox Blox to another user
May not place the Wrox Blox file on a network or any file sharing service for use by anyone other than yourself or allow anyone other than yourself to access it
May not copy the Wrox Blox file other than as allowed above
May not copy, redistribute, or modify any portion of the Wrox Blox contents in any way without prior permission from Wiley
If you have any questions about these restrictions, you may contact Customer Care at (877) 762-2974 (8 a.m. - 5 p.m. EST, Monday - Friday). If you have any issues related to Technical Support, please contact us at 800-762-2974 (United States only) or 317-572-3994 (International) 8 a.m. - 8 p.m. EST, Monday - Friday).