System.Drawing.Drawing2D Namespace
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Fornece funcionalidade avançada de elementos gráficos bidimensionais e vetoriais.
Classes
| Nome | Description |
|---|---|
| AdjustableArrowCap |
Representa uma tampa de linha em forma de seta ajustável. Essa classe não pode ser herdada. |
| Blend |
Define um padrão de combinação para um LinearGradientBrush objeto. Essa classe não pode ser herdada. |
| ColorBlend |
Define matrizes de cores e posições usadas para interpolar a mesclagem de cores em um gradiente multicolor. Essa classe não pode ser herdada. |
| CustomLineCap |
Encapsula um limite de linha personalizado definido pelo usuário. |
| GraphicsContainer |
Representa os dados internos de um contêiner de gráficos. Essa classe é usada ao salvar o estado de um Graphics objeto usando os métodos e EndContainer(GraphicsContainer) os BeginContainer() métodos. Essa classe não pode ser herdada. |
| GraphicsPath |
Representa uma série de linhas e curvas conectadas. Essa classe não pode ser herdada. |
| GraphicsPathIterator |
Fornece a capacidade de iterar por meio de subcaminhos em um GraphicsPath e testar os tipos de formas contidas em cada subcaminho. Essa classe não pode ser herdada. |
| GraphicsState |
Representa o estado de um Graphics objeto. Esse objeto é retornado por uma chamada aos Save() métodos. Essa classe não pode ser herdada. |
| HatchBrush |
Define um pincel retangular com um estilo de hatch, uma cor de primeiro plano e uma cor de plano de fundo. Essa classe não pode ser herdada. |
| LinearGradientBrush |
Encapsula um Brush com um gradiente linear. Essa classe não pode ser herdada. |
| Matrix |
Encapsula uma matriz de affine 3 por 3 que representa uma transformação geométrica. Essa classe não pode ser herdada. |
| PathData |
Contém os dados gráficos que compõem um GraphicsPath objeto. Essa classe não pode ser herdada. |
| PathGradientBrush |
Encapsula um Brush objeto que preenche o interior de um GraphicsPath objeto com um gradiente. Essa classe não pode ser herdada. |
| RegionData |
Encapsula os dados que compõem um Region objeto. Essa classe não pode ser herdada. |
Enumerações
| Nome | Description |
|---|---|
| CombineMode |
Especifica como diferentes regiões de recorte podem ser combinadas. |
| CompositingMode |
Especifica como as cores de origem são combinadas com as cores de plano de fundo. |
| CompositingQuality |
Especifica o nível de qualidade a ser usado durante a composição. |
| CoordinateSpace |
Especifica o sistema a ser usado ao avaliar coordenadas. |
| DashCap |
Especifica o tipo de forma gráfica a ser usada em ambas as extremidades de cada traço em uma linha tracejada. |
| DashStyle |
Especifica o estilo de linhas tracejadas desenhadas com um objeto Pen. |
| FillMode |
Especifica como o interior de um caminho fechado é preenchido. |
| FlushIntention |
Especifica se os comandos na pilha de gráficos são encerrados (liberados) imediatamente ou executados o mais rápido possível. |
| HatchStyle |
Especifica os diferentes padrões disponíveis para objetos HatchBrush. |
| InterpolationMode |
A enumeração InterpolationMode especifica o algoritmo usado quando as imagens são dimensionadas ou giradas. |
| LinearGradientMode |
Especifica a direção de um gradiente linear. |
| LineCap |
Especifica os estilos de limite disponíveis com os quais um objeto Pen pode terminar uma linha. |
| LineJoin |
Especifica como unir segmentos de linha ou curva consecutivos em uma figura (subcaminho) contida em um objeto GraphicsPath. |
| MatrixOrder |
Especifica a ordem para operações de transformação de matriz. |
| PathPointType |
Especifica o tipo de ponto em um objeto GraphicsPath. |
| PenAlignment |
Especifica o alinhamento de um objeto Pen em relação à linha teórica de largura zero. |
| PenType |
Especifica o tipo de preenchimento que um objeto Pen usa para preencher linhas. |
| PixelOffsetMode |
Especifica como os pixels são deslocados durante a renderização. |
| QualityMode |
Especifica a qualidade geral ao renderizar objetos GDI+. |
| SmoothingMode |
Especifica se a suavização (suavização) é aplicada a linhas e curvas e às bordas das áreas preenchidas. |
| WarpMode |
Especifica o tipo de transformação de dobra aplicada em um método Warp. |
| WrapMode |
Especifica como uma textura ou gradiente é em bloco quando é menor que a área que está sendo preenchida. |
Comentários
Caution
O System.Drawing namespace tem algumas limitações para determinados sistemas operacionais e tipos de aplicativo.
Em Windows,
System.Drawingdepende da biblioteca nativa GDI+, que é enviada como parte do sistema operacional. Alguns SKUs Windows, como Windows Server Core ou Windows Nano, não incluem essa biblioteca nativa como parte do sistema operacional. Se você usar esse namespace e a biblioteca não puder ser carregada, as exceções serão geradas em tempo de execução.Alguns tipos no namespace
System.Drawingdependem do GDI+, que não tem suporte em serviços Windows e aplicativos ASP.NET Core e ASP.NET. Esses tipos estão no pacote NuGet System.Drawing.Common e incluem System.Drawing.Bitmap e System.Drawing.Font. No entanto, tipos primitivos no namespace, como System.Drawing.Color, System.Drawing.Size, System.Drawing.Pointe System.Drawing.Rectangle, podem ser usados em qualquer aplicativo.Em .NET 5 e versões anteriores, o pacote NuGet System.Drawing.Common funciona em Windows, Linux e macOS. No entanto, há algumas diferenças de plataforma. No Linux e no macOS, a funcionalidade GDI+ é implementada pela biblioteca libgdiplus ). Essa biblioteca não é instalada por padrão na maioria das distribuições do Linux e não dá suporte a todas as funcionalidades do GDI+ em Windows e macOS. Há também plataformas em que o libgdiplus não está disponível. Para usar tipos do pacote System.Drawing.Common no Linux e no macOS, você deve instalar o libgdiplus separadamente. Para obter mais informações, consulte Instalar .NET no Linux ou Instalar .NET no macOS.
Nas versões .NET 6 e posteriores, o pacote NuGet System.Drawing.Common só tem suporte em sistemas operacionais Windows. Para obter mais informações, consulte System.Drawing.Common com suporte apenas no Windows.
Se você não puder usar System.Drawing com seu aplicativo, As alternativas recomendadas incluem ImageSharp, SkiaSharp, Windows Imaging Components e Microsoft. Maui.Graphics.
A tabela a seguir lista algumas das classes e enumerações importantes no System.Drawing.Drawing2D namespace, agrupadas em categorias.
| Categoria de classe | Detalhes |
|---|---|
| - Gráficos e caminhos gráficos | As GraphicsState classes e as GraphicsContainer informações de relatório sobre o objeto atual Graphics .
GraphicsPath as classes representam uma série de linhas e curvas. As GraphicsPathIterator classes e as PathData classes fornecem informações detalhadas sobre o conteúdo de um GraphicsPath objeto. |
| - Tipos relacionados à matriz e transformação | A Matrix classe representa uma matriz para transformações geométricas. A MatrixOrder enumeração especifica a ordem para transformações de matriz. |
| - Classes de pincel | As PathGradientBrush classes e as HatchBrush classes permitem que você preencha formas com um gradiente ou um padrão de escotilha, respectivamente. |
| - Enumeração relacionada a linhas | As LineCap enumerações CustomLineCap permitem que você especifique estilos de limite para uma linha. LineJoin A enumeração permite que você especifique como duas linhas são unidas em um caminho. A PenAlignment enumeração permite que você especifique o alinhamento da dica de desenho ao desenhar uma linha. A PenType enumeração especifica o padrão com o qual uma linha deve ser preenchida. |
| - Enumerações relacionadas ao preenchimento de formas e caminhos | A HatchStyle enumeração especifica estilos de preenchimento para um HatchBrush. A Blend classe especifica um padrão de combinação para um LinearGradientBrush. A FillMode enumeração especifica o estilo de preenchimento para um GraphicsPath. |
Caution
Classes no namespace System.Drawing.Drawing2D não têm suporte para uso em um serviço de Windows ou ASP.NET. A tentativa de usar essas classes em um desses tipos de aplicativo pode produzir problemas inesperados, como redução do desempenho do serviço e exceções em tempo de execução.