The Wayback Machine - https://web.archive.org/web/20111006180123/http://www.codeguru.com:80/cpp/g-m/gdi/

    GDI

    [Updated] Rubix Cube (not yet reviewed)

    This program presents an original way of the famous Rubik's Cube by an assembly of 27 multi-colored cubies isolated in the space. Even during its deformations, it allows a 3D vision of the cube thanks to the basic MFC graphic functions. This simulation can also rapidly calculate a solution to reordering the Cube.

    C++ Programming: Easy Screen Capture Using MFC/ATL

    Learn to use CScreenImage, an MFC/ATL extension class for screen image captures.

    Tip: Detect if a Language Font is Installed (Such as East Asian)

    Check if any language (such as East Asian) is Installed on a user's computer.

    [Updated] How to Use a Font Without Installing It

    How to use a font without installing it first on user systems.

    [Updated] Outline Text, Part 1

    How to draw outlined text with GDI/GDI+.

    Outline Text, Part 2

    Display outline text with a translucent shadow and display a cached outline text for video rendering.

    How to Construct a Reusable Silverlight ASP.NET User Control

    Silverlight provides new opportunities for building lasting connections with users. In this article, you will learn how to use this new tool to create a simple logo control.

    [Updated] Capturing Windows Regardless of Their Z-Order

    Capture a top window's content to a BMP file, regardless of the window's z-order.

    Progress Sphere

    Learn about a class that displays and automates a translucent, shadowed modal dialog with a progress sphere.

    Using Windows Vista Icons

    Learn about the changes in the .ico format in Windows Vista and how to compile Vista icons into your applications.

    File Open and Save As Dialogs for MFC Applications Using GDI+

    Learn about CFileDialog-derived classes that offer an easy way to implement File Open and Save As dialogs in MFC applications that use GDI+.

    Mould Text in Any Shape

    Sometimes, putting text in a rectangular block may just be a little too straight. With the C++ class QEnvelopeText, you can mould a piece of body type in any shape.

    Let Your Characters Dance and Wiggle

    This versatile class arranges the characters of a text string along any curve.

    Make GDI+ Less Finicky About Fonts

    Windows GDI+ understands only half of the fonts out there. Use the QGraphicsText class to work with the other half.

    Drawing Curved Objects

    Add support for interactive curve drawing to your MFC app by dropping in theQBezierTracker class.

    [Updated] Scaling, Rotating, and Shearing with QTransformTracker

    This CRectTracker on steroids not only lets you move and scale screen objects, but also rotate and shear them.

    [Updated] "Rubber Sheeting" with QWarpTracker

    Warping is the most drastic way to change the form of a GDI+ graphics object. The class QWarpTracker lets you do it interactively.

    Managed C++: Use GDI+ to Render Reflected Text

    Tom Archer illustrates how you can use the TranslateTransform and ScaleTransform methods to invert and display the reflection of a string.

    Managed Extensions: Using GDI+ to Render Sheared Text

    Tom Archer illustrates how the Matrix object and transforms enable you to draw horizontally or vertically sheared text.

    Managed Extensions: Using GDI+ to Draw 3D Text

    Learn how to use GDI+ to render several 3D text effects, such as shadowed, blocked, embossed, and engraved text.

    Managed Extensions: Using GDI+ Brushes to Draw Text

    Tom Archer illustrates how the combination of Managed Extensions and GDI+ enable you to draw gradient and hatched text with only a few lines of C++ code.

    Trick: How to Capture Video Screen Shots

    An article describing a trick to capture video screen shots.

    Better GIFs with Octrees

    Use adaptive color quantization to create better GIF files with GDI+.

    A Sharp View with QGaussFilter

    Despite its somewhat confusing name, Unsharp Mask is an important procedure to enhance the quality of bitmap pictures. The QGaussFilter class performs Unsharp Mask, and more. (The project code was updated.)