In Windows, you have access to a rich set of device-independent graphics operations. This means your application can easily draw lines, rectangles, circles, and complex regions. Because Windows provides device independence, you can use the same functions to draw a circle on a dot-matrix printer or a high-resolution graphics display.
Windows requires “device drivers” to convert graphics output requests to output for a printer, plotter, display, or other output device. A device driver is a special DLL that an application can load and connect to a specific output device and port. A “device context” represents the device driver, the output device, and perhaps the communications port. Your application carries out graphics operations within the “context” of a specific device.