GDI+ Text Sample

This sample shows some of the many features that are available when you use GDI+ to work with text. Several effects are demonstrated. These include shadow, embossing, block text, shearing, and reflection.

To get samples and instructions for installing them

  • Do one or more of the following:

    • On the Help menu, click Samples.

      The Readme displays information about samples.

    • Visit the Visual Studio 2008 Samples Web site. The most recent versions of samples are available there.

    • Locate samples on the computer on which Visual Studio is installed. By default, samples and a Readme file are installed in drive:\Program Files\Microsoft Visual Studio 9.0\Samples\lcid. For Express editions of Visual Studio, all samples are located online.

For more information, see Visual Studio Samples.

Security noteSecurity Note:

This sample code is intended to illustrate a concept, and it shows only the code that is relevant to that concept. It may not meet the security requirements for a specific environment, and it should not be used exactly as shown. We recommend that you add security and error-handling code to make your projects more secure and robust. Microsoft provides this sample code "AS IS" with no warranties.

To view the sample documentation

  1. In Solution Explorer, double-click the Documentation folder.

  2. If you are using Visual Basic Express, right-click ReadMe.htm in the Documentation folder. Select View in Browser.

  3. If you are using another version of Visual Basic, double-click ReadMe.htm in the Documentation folder.

Demonstrates

While some effects can be implemented by setting the properties of the Brush and Pen classes, other effects require some code:

  • Shadow   To create the shadow, the text is drawn twice. The first time it is in gray and offset. The second time is in black.

  • **Embossing   **To create the embossing effect, the text is drawn twice. The first time it is in black and offset. The second time it is drawn in white, the current background color.

  • Block text   To get this effect, the text is drawn repeatedly in black, moving the text up and to the right each time. Then the text is drawn in the main color.

  • Shearing   When drawing, shearing means to slant an image. Text is slanted by calling the Shear method of the Transform property of the Graphics object.

  • Reflection   Reflecting the text requires measuring the height of the text, scaling the text, and repositioning the origin. The height returned from the MeasureString method includes some extra spacing for descenders and white space, but the text will be reflected around the baseline, which is the line which all capital letters sit on. To calculate the height above the baseline, use the GetCellAscent method. Since GetCellAscent returns a Design Metric value, it must be converted to pixels and scaled for the font size. The text is reflected using a scaling transform, but first a new origin is set to prevent the text from being drawn outside the viewable area of the form. Finally, the reflected text is drawn first, demonstrating the GraphicsState class. The only reason to draw the Reflected one first is to demonstrate the use of the GraphicsState object. Finally, the upright text is drawn.

See Also

Reference

Graphics

Graphics.DrawString

Brush

Pen

Graphics.Transform

Shear

MeasureString

GraphicsState

Graphics.Save