Rendering Framework: GDI via C#

When developing graphical applications in a Windows environment, one of the key fundamental aspects for creating rich applications is understanding the “Graphics Device Interface” or, more commonly known as, simply GDI.

GDI is an abstraction layer for accessing video hardware built into the Windows operating system, specifically residing in the “GDI32.dll”.

This abstraction layer is responsible for drawing geometrical shapes, text with various fonts and sizes, handling various color depths – most commonly 8-bpp (256 colors represented by a palette – indexed, monochrome or “real color”), 16-bpp (“high color”), 24-bpp (“true color”) and 32-bpp ( “true color with transparency”) and rendering results to a Device Context – such as a screen or a printer.

Continue reading