Why Trust Techopedia

What Does Brush Mean?

Brush is an abstract base class used in C# programming language to define objects for filling the interiors of graphical shapes with a solid color, gradient pattern, image or drawing.


Brush class cannot be instantiated itself but forms the base for all its derived classes, which describe how the graphical area is painted. The graphical shapes that can be filled using brushes include rectangles, ellipses, pies, polygons and paths. Brush objects can be used with graphical objects to create solid shapes and to render text.

Techopedia Explains Brush

In .NET framework 4.0, brush class is implemented in two forms: the brush used in the Graphics Device Interface+ (GDI+) and the Windows Presentation Framework (WPF) brush. In the former case, brush class inherits from System.Drawing and uses the concept of current brush; the latter inherits from System.Windows.Media and the brush object must be passed for each drawing call. The WPF brush has advanced features that enable users to paint user interface objects with anything from simple solid colors to complex sets of patterns and images.

Brush class has the following features:

  • While inheriting from brush class, clone method has to be overridden.
  • All the derived classes representing the brush objects cannot be inherited.
  • Because the brush object consumes system resources, a dispose method needs to be called at the end of its usage.

Brush class is one of the drawing resource classes used to provide different filling pattern for an enclosed surface. It forms a managed wrapper to the underlying unmanaged native Win32 GDI resource, HBRUSH. As one of the fundamental components of GDI+, which is designed for performance and ease of use, it is used in combination with other GDI+ objects, such as pens and colors, to render graphical images on Windows forms and controls.

The different types of brushes used in GDI+ are implemented in the following classes:

  • SolidBrush: Used to define a single-color brush that can be used to fill graphical shapes.
  • TextureBrush: Holds an image as its member and uses that image to fill the interior of a closed shape. A picture file with a normal graphics file extension (like .bmp) is passed as an input during its creation.
  • LinearGradientBrush: Encapsulates both two-color gradients and custom multicolor gradients. It is used to fill a shape with gradually changing color. For example, a two-color gradient brush can be used to fill a rectangle whose left edge is black and gradually changes to red on its right edge. It is similar to solid brush as it is color-based, but differs in that it has two colors applied on two sides, merging to create a transition, or fading effect. The two types of gradient brushes are linear and path. Linear gradient brushes start with one color and blend to another color in a horizontal or vertical direction, or parallel to a slanted line. It is used in closed shapes. Path gradient is applied on a path created by connecting a series of points to get a closed shape, the interior of which can be filled as a gradient. Path gradients can be customized to produce different effects

Related Terms

Margaret Rouse

Margaret jest nagradzaną technical writerką, nauczycielką i wykładowczynią. Jest znana z tego, że potrafi w prostych słowach pzybliżyć złożone pojęcia techniczne słuchaczom ze świata biznesu. Od dwudziestu lat jej definicje pojęć z dziedziny IT są publikowane przez Que w encyklopedii terminów technologicznych, a także cytowane w artykułach ukazujących się w New York Times, w magazynie Time, USA Today, ZDNet, a także w magazynach PC i Discovery. Margaret dołączyła do zespołu Techopedii w roku 2011. Margaret lubi pomagać znaleźć wspólny język specjalistom ze świata biznesu i IT. W swojej pracy, jak sama mówi, buduje mosty między tymi dwiema domenami, w ten…