Structure of the Graphics Interface
The managed class interface to GDI+ contains about 60 classes, 50 enumerations, and 8 structures. The Graphics class is at the core of GDI+ functionality; it is the class that actually draws lines, curves, figures, images, and text.
Many classes work together with the Graphics class. For example, the DrawLine method receives a Pen object, which holds attributes (color, width, dash style, and the like) of the line to be drawn. The FillRectangle method can receive a pointer to a LinearGradientBrush object, which works with the Graphics object to fill a rectangle with a gradually changing color. Font and StringFormat objects influence the way a Graphics object draws text. A Matrix object stores and manipulates the world transformation of a Graphics object, which is used to rotate, scale, and flip images.
GDI+ provides several structures (for example, Rectangle, Point, and Size) for organizing graphics data. Also, certain classes serve primarily as structured data types. For example, the BitmapData class is a helper for the Bitmap class, and the PathData class is a helper for the GraphicsPath class.
GDI+ defines several enumerations, which are collections of related constants. For example, the LineJoin enumeration contains the elements Bevel, Miter, and Round, which specify styles that can be used to join two lines.