

Use of these features is apparent in Windows XP components, such as Microsoft Paint, Windows Picture and Fax Viewer, Photo Printing Wizard, and the My Pictures Slideshow screensaver. GDI+ uses RGBA values to represent color. It adds anti-aliased 2D graphics, floating point coordinates, gradient shading, more complex path management, intrinsic support for modern graphics-file formats like JPEG and PNG, and support for composition of affine transformations in the 2D view pipeline. With the introduction of Windows XP, GDI+ complemented GDI. The BYTE magazine, in December 1983, discussed Microsoft's plans for a system to output graphics to both printers and monitors with the same code in the forthcoming first release of Windows.

Code written in this way expects that it is the only user of the video memory, which was not tenable on multi-tasked environment, such as Windows. MS-DOS programs had hitherto manipulated the graphics hardware using software interrupts (sometimes via the Video BIOS) and by manipulating video memory directly. GDI was present in the initial release of Windows. GDI uses Bresenham's line drawing algorithm to draw aliased lines. After generating the output, the handle could be released. Generating the output requires a handle to the device context (HDC). In GDI, a device context (DC) defines the attributes of text and images for the output device, e.g., screen or printer. Modern games usually use DirectX, Vulkan, or OpenGL instead. However, GDI is relatively hard to use for advanced animation, lacks a notion for synchronizing with individual video frames in the video card, and lacks hardware rasterization for 3D. Simple games that do not require fast graphics rendering may use GDI. This capability is at the center of most " What You See Is What You Get" applications for Microsoft Windows. Using GDI, it is possible to draw on multiple devices, such as a screen and a printer, and expect proper reproduction in each case. GDI's most significant advantages over more direct methods of accessing the hardware are perhaps its scaling capabilities and its abstract representation of target devices. Other systems have components that are similar to GDI for example: macOS has Quartz, and Linux has X Window System. The Windows USER subsystem uses GDI to render such UI elements as window frames and menus.

Windows apps use Windows API to interact with GDI, for such tasks as drawing lines and curves, rendering fonts, and handling palettes. The Graphics Device Interface ( GDI) is a legacy component of Microsoft Windows responsible for representing graphical objects and transmitting them to output devices such as monitors and printers.
