Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Encapsulates a GDI+ bitmap, which consists of the pixel data for a graphics image and its attributes. A Bitmap is an object used to work with images defined by pixel data.
Specifies that, when interpreting ToolboxBitmapAttribute declarations, the assembly should look for the indicated resources in the same assembly, but with the BitmapSuffix configuration value appended to the declared file name.
Specifies that, when interpreting ToolboxBitmapAttribute declarations, the assembly should look for the indicated resources in a satellite assembly, but with the BitmapSuffix configuration value appended to the declared file name.
Defines objects used to fill the interiors of graphical shapes such as rectangles, ellipses, pies, polygons, and paths.
Brushes for all the standard colors. This class cannot be inherited.
Provides a graphics buffer for double buffering.
Provides methods for creating graphics buffers that can be used for double buffering.
Provides access to the main buffered graphics context object for the application domain.
Converts colors from one data type to another. Access this class through the TypeDescriptor.
Translates colors to and from GDI+ Color structures. This class cannot be inherited.
Defines a particular format for text, including font face, size, and style attributes. This class cannot be inherited.
Converts Font objects from one data type to another.
FontConverter.FontNameConverter is a type converter that is used to convert a font name to and from various other representations.
Converts font units to and from other unit types.
Defines a group of type faces having a similar basic design and certain variations in styles. This class cannot be inherited.
Encapsulates a GDI+ drawing surface. This class cannot be inherited.
Represents a Windows icon, which is a small bitmap image that is used to represent an object. Icons can be thought of as transparent bitmaps, although their size is determined by the system.
Animates an image that has time-based frames.
Defines an object used to draw lines and curves. This class cannot be inherited.
Pens for all the standard colors. This class cannot be inherited.
Converts a Point object from one data type to another.
Converts rectangles from one data type to another. Access this class through the TypeDescriptor.
Describes the interior of a graphics shape composed of rectangles and paths. This class cannot be inherited.
Converts SizeF objects from one type to another.
Defines a brush of a single color. Brushes are used to fill graphics shapes, such as rectangles, ellipses, pies, polygons, and paths. This class cannot be inherited.
Encapsulates text layout information (such as alignment, orientation and tab stops) display manipulations (such as ellipsis insertion and national digit substitution) and OpenType features. This class cannot be inherited.
Specifies the fonts used to display text in Windows display elements.
Allows you to specify an icon to represent a control in a container, such as the Microsoft Visual Studio Form Designer.
Specifies a range of character positions within a string.
Represents an ARGB (alpha, red, green, blue) color.
Represents an ordered pair of integer x- and y-coordinates that defines a point in a two-dimensional plane.
Represents an ordered pair of floating-point x- and y-coordinates that defines a point in a two-dimensional plane.
Stores a set of four integers that represent the location and size of a rectangle.
Stores a set of four floating-point numbers that represent the location and size of a rectangle. For more advanced region functions, use a Region object.
Stores an ordered pair of floating-point numbers, typically the width and height of a rectangle.
Defines methods for obtaining and releasing an existing handle to a Windows device context.
Specifies alignment of content on the drawing surface.
Determines how the source color in a copy pixel operation is combined with the destination color to result in a final color.
Specifies style information applied to text.
Specifies the unit of measure for the given data.
Specifies the known system colors.
Specifies how much an image is rotated and the axis used to flip the image.
Specifies the alignment of a text string relative to its layout rectangle.
The StringDigitSubstitute enumeration specifies how to substitute digits in a string according to a user's locale or language.
Specifies the display and layout information for text strings.
Specifies how to trim characters from a string that does not completely fit into a layout shape.
Specifies the units of measure for a text string.
Provides a callback method for deciding when the DrawImage method should prematurely cancel execution and stop drawing an image.
Provides a callback method for the EnumerateMetafile method.
Provides a callback method for determining when the GetThumbnailImage(Int32, Int32, Image+GetThumbnailImageAbort, IntPtr) method should prematurely cancel execution.
System.Drawing namespace has some limitations for certain operating systems and application types.
System.Drawingdepends on the GDI+ native library, which is shipped as part of the OS. Some Windows SKUs, like Windows Server Core or Windows Nano, don't include this native library as part of the OS. If you use this namespace and the library can't be loaded, exceptions will be thrown at run time.
Some types in the
System.Drawingnamespace rely on GDI+, which is not supported in Windows services and ASP.NET Core and ASP.NET apps. These types are in the System.Drawing.Common NuGet package and include System.Drawing.Bitmap and System.Drawing.Font. However, primitive types in the namespace, such as System.Drawing.Color, System.Drawing.Size, System.Drawing.Point, and System.Drawing.Rectangle, can be used in any application.
In .NET 5 and previous versions, the System.Drawing.Common NuGet package works on Windows, Linux, and macOS. However, there are some platform differences. On Linux and macOS, the GDI+ functionality is implemented by the libgdiplus) library. This library is not installed by default in most Linux distributions and doesn't support all the functionality of GDI+ on Windows and macOS. There are also platforms where libgdiplus is not available at all. To use types from the System.Drawing.Common package on Linux and macOS, you must install libgdiplus separately. For more information, see Install .NET on Linux or Install .NET on macOS.
The Graphics class provides methods for drawing to the display device. Classes such as Rectangle and Point encapsulate GDI+ primitives. The Pen class is used to draw lines and curves, while classes derived from the abstract class Brush are used to fill the interiors of shapes.