Graphics Device Interface + (GDI+)

Definition - What does Graphics Device Interface + (GDI+) mean?

Graphics Device Interface + (GDI+) is a graphical subsystem of Windows that consists of an application programming interface (API) to display graphics and formatted text on both video display and printer.

GDI+ acts as an intermediate layer between applications and device drivers for rendering two-dimensional graphics, images and text.

Techopedia explains Graphics Device Interface + (GDI+)

GDI was the tool by which the what you see is what you get (WYSIWYG) capability was provided in Windows applications. GDI+ is an enhanced C++-based version of GDI. GDI+ helps the developer to write device-independent applications by hiding the details of graphic hardware. It also provides graphic services in a more optimized manner than earlier versions. Due to its object-oriented structure and statelessness, GDI+ provides an easy and flexible interface developers can use to interact with an application's graphical user interface (GUI). Although GDI+ is slightly slower than GDI, its rendering quality is better.

The GDI+ services can be categorized into 2D vector graphics, imaging and typography. Vector graphics include drawing primitives like rectangles, lines and curves. These primitives are drawn using objects of a specific class, which has all the information required. Imaging involves displaying complex images that cannot be displayed using vector graphics and performing image operations such as stretching and skewing. Simple text can be printed in multiple fonts, sizes and colors using typography services of GDI+.

GDI+ has an internal structure that consists of about 40 extensible managed classes, 50 enumerations and six structures. GDI+ uses the concept of graphics context, which is similar to the device context used by GDI. Graphics context is represented by classes and graphics containing details of drawing in a window, but not the information about font, color, etc. By passing the required formatting information to a graphics object's methods for drawing, there is no need to maintain the state, which helps to optimize rendering performance.

The features included in GDI+ are:

  • Gradient brushes used for filling shapes, paths and regions using linear and path gradient pushes
  • Cardinal splines for creating larger curves formed out of individual curves
  • Independent path objects for drawing a path multiple times
  • A matrix object tool for transforming (rotating, translating, etc.) graphics
  • Regions stored in world coordinates format, which allows them to undergo any transformation stored in a transformation matrix
  • Alpha blending to specify the transparency of the fill color
  • Multiple image formats (BMP, IMG, TIFF, etc.) supported by providing classes to load, save and manipulate them
  • Sub-pixel anti-aliasing to render text with a smoother appearance on a liquid crystal display (LCD) screen
Share this:

Connect with us

Email Newsletter

Join thousands of others with our weekly newsletter

The 4th Era of IT Infrastructure: Superconverged Systems
The 4th Era of IT Infrastructure: Superconverged Systems:
Learn the benefits and limitations of the 3 generations of IT infrastructure – siloed, converged and hyperconverged – and discover how the 4th...
Approaches and Benefits of Network Virtualization
Approaches and Benefits of Network Virtualization:
Businesses today aspire to achieve a software-defined datacenter (SDDC) to enhance business agility and reduce operational complexity. However, the...
Free E-Book: Public Cloud Guide
Free E-Book: Public Cloud Guide:
This white paper is for leaders of Operations, Engineering, or Infrastructure teams who are creating or executing an IT roadmap.
Free Tool: Virtual Health Monitor
Free Tool: Virtual Health Monitor:
Virtual Health Monitor is a free virtualization monitoring and reporting tool for VMware, Hyper-V, RHEV, and XenServer environments.
Free 30 Day Trial – Turbonomic
Free 30 Day Trial – Turbonomic:
Turbonomic delivers an autonomic platform where virtual and cloud environments self-manage in real-time to assure application performance.