100% managed code: use with any .NET language.

Graphical editor: the Picture Designer includes zooming, panning, rulers, and a grid. Editing operations include move, resize, rotate, shear, scale, edit points, and group.

Property Grid: customize all properties at design-time, as you do with a Control.

Easy to use: a powerful object model consistent with Microsoft's Design Guidelines for Class Library Developers

Mouse events: attach event handlers to a graphical Element using the Property Grid, the same way you attach event handlers to a Control.

Transformation properties: set Rotation, Shearing, Scaling, and Translation properties on each Element.

Reference points: specify the point used for scaling, shearing, and rotation, either relative to an Element's bounding box (Center, LowerRight, and so on), or in absolute coordinates.

Appearance properties: change the appearance of an Element with a Fill, Stroke, TextAppearance, and RenderAppearance properties. Control anti-aliasing, gamma-correction, and PixelOffsetMode with the RenderAppearance property.

Appearance "inheritance": define a default appearance by setting properties on an ancestor, a Picture or Group. All children "inherit" this appearance, unless they have set the same properties.

Style objects: attach Style objects to a Picture; modify a child Element's appearance by referencing, by name, any Style object defined on the Picture. Each Style object contains Fill, Stroke, TextAppearance, and RenderAppearance properties.

Opacity: set on Fill, Stroke, TextAppearace, and Image objects.

Dramatic 3D effects: using linear and path gradients, you can create shines, shadows, glows, gel buttons, and other 3D effects. See the development blog for examples and tips.

Great Performance: minimizes the screen area repainted during animation. provides hardware accelerated scrolling, only repainting newly exposed areas. Graphical objects consume minimal memory; most properties are "virtual," consuming zero bytes when set to their default value. Gradient bitmaps are cached and reused across Elements.

Vector graphics classes: perform calculations at run-time using Vector, point collection, transformation, and lightweight matrix classes.