top of page

6_RA

  • hrafnulf13
  • Oct 23, 2020
  • 2 min read

Updated: Oct 28, 2020

GDI+



GDI+ is a library that provides an interface that allows programmers to write Windows and Web graphics applications that interact with graphical devices such as printers, monitors, or files [1-3]. GDI is responsible for tasks such as drawing lines and curves, rendering fonts and handling palettes. All graphical user interface (GUI) applications interact with a hardware device (a monitor, printer, or scanner), that can represent the data in a human-readable form. However, there is no direct communication between a program and a device; otherwise, separate user interface code has to be written for each and every device with which programs interact. To avoid this monumental task, a third component sits between the program and device. It converts and passes data sent by the program to the device and vice versa. This component is the GDI+ library.


GDI+ is a set of C++ classes that are located in a class library called Gdiplus.dll. Gdiplus.dll is a built-in component of the Microsoft Windows XP and Windows Server 2003 operating systems. Yet GDI+ can be used on Windows operating systems other than XP. All that is required is to install GDI+ on the computer, which means that Gdiplus.dll must be copied to the system directory. However, installing the .NET SDK, Visual Studio .NET, or .NET redistributable copies Gdiplus.dll automatically.


In brief:

  • GDI+ is a component that sits between an application and graphical devices. It converts data into a form compatible with a graphical device, which presents the data in human-readable form.

  • GDI+ is implemented as a set of C++ classes that can be used from unmanaged code.

  • In the .NET Framework library, GDI+ classes are exposed through System.Drawing (and its subnamespaces), which provides a managed class wrapper around the GDI+ C++ classes.

The Three Parts of GDI+ [4]


2-D vector graphics. Vector graphics involves drawing primitives (such as lines, curves, and figures) that are specified by sets of points on a coordinate system. GDI+ provides classes that store information about the primitives themselves, classes that store information about how the primitives are to be drawn, and classes that actually do the drawing.


Imaging. Data structures that store information about bitmaps tend to be more complex than those required for vector graphics, so there are several classes in GDI+ devoted to this purpose.


Typography. Typography is concerned with the display of text in a variety of fonts, sizes, and styles.


More detalied description can be found on [1] and [2]. [2] also provides basic tutorials and examples to work with GDI+.

 

References


Recent Posts

See All
14_RA

The Euler–Maruyama method (also called the Euler method) is a method for the approximate numerical solution of a stochastic differential...

 
 
 

Comments


bottom of page