Skip Navigation LinksWelcome : GDI+ FAQ

Welcome to the GDI+ FAQ

GDI+ is a native C++ DLL that was originally created for the Microsoft Office suite. It has graphical capabilities that were far in advance of the original Windows graphics system, GDI. For .Net, and particularly Windows Forms, GDI+ was given a managed wrapper that enabled it to be used with C# and VB.Net. For many years GDI+ has provided a sterling service, enabling Windows Forms applications to show really great graphics. Unfortunately, the adoption of GDI+ never really sparked the imaginations of the graphics card manufacturers and therefore hardware acelleration was only provided by a few graphics cards from the Matrox corporation. Because GDI+ never took off as a serious games graphics engine, the manufacurers preferred to concentrate on the capabilities of DirectX.

This list of articles that began on another site in 2001 contains many real world examples of how to get the best from GDI+. Enjoy!

Skip Navigation Links
The #1 most asked GDI+ question
Why do my graphics keep disappearing?
Creating and loading images
Drawing Images
Calculating best-fit drawing using a transform
Convert color images to grayscale
Changing resolution of or cropping images
Saving JPEG images with a specific compression quality
Creating animated GIF images
Creating a negative image
Modifying an image and writing it back to the same filename
Converting RGB to 1 bit-per-pixel monochrome
Transparent GIF images
Discovering the Property Items present in an image
Understanding the LockBits method and the BitmapData class
Creating high-resolution images and text
Creating an optimized palette for GIF images
Generating Multi-Frame TIFF image files
Adding frames to a Multi-Frame TIFF
Drawing on an existing image
Creating a high-quality thumbnail image
Using RGB and HSL in .NET
Adjusting the Saturation of an image
Adjusting the contrast of an image
Finding the colour at a certain point. (eyedropper)
Drawing text with a drop-shadow
Text effects. Emboss, Outline and Warp
Drawing text at an angle
Drawing text on a reversed Y axis
Drawing text with a halo or aura
Formatting text on a common baseline
Drawing lines and shapes
Drawing single pixel lines
Plotting single pixels
Drawing round rectangles
Hit testing lines
Pens and brushes
Using the LinearGradientBrush
Using the PathGradientBrush
Scaling the TextureBrush
Scaling the Pen object
Hit testing lines
Extract a region from a bitmap
General GDI+ technique
When to dispose of resources
Converting mouse coordinates to the current page units
Comparing GDI Mapping Modes and GDI+ Transformations
Miscellaneous questions and tips
Why is GDI+ so slow?
How (or how not) to use the PictureBox control
How do I manipulate the graphics on screen?
How to capture the screen or an image of a control
When to use CreateGraphics
What are the limits of the drawing extents?
The Spirograph bug
GetRegionScans BUG

Bob Powell

Create your badge

Copyright ©Bob Powell 2000-2014. All rights reserved.