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 bidimensional e de gráfico vetorial.
Classes
AdjustableArrowCap |
Representa uma terminação de linha em forma de seta ajustável. Essa classe não pode ser herdada. |
Blend |
Define um padrão de mesclagem para um objeto LinearGradientBrush. Essa classe não pode ser herdada. |
ColorBlend |
Define as matrizes de cores e as posições usadas para a interpolação da combinação de cores em um gradiente de várias cores. Essa classe não pode ser herdada. |
CustomLineCap |
Encapsula uma terminação de linha personalizada definida pelo usuário. |
GraphicsContainer |
Representa os dados internos de um contêiner de gráfico. Essa classe é usada ao salvar o estado de um objeto Graphics usando os métodos BeginContainer() e EndContainer(GraphicsContainer). 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 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 objeto Graphics. O objeto é retornado por uma chamada para os métodos Save(). Essa classe não pode ser herdada. |
HatchBrush |
Define um pincel retangular com um estilo de hachura, uma cor da tela de fundo e uma cor de primeiro plano. 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 afim 3 por 3 que representa uma transformação geométrica. Essa classe não pode ser herdada. |
PathData |
Contém os dados de gráficos que compõem um objeto GraphicsPath. Essa classe não pode ser herdada. |
PathGradientBrush |
Encapsula um objeto Brush que preenche o interior de um objeto GraphicsPath com um gradiente. Essa classe não pode ser herdada. |
RegionData |
Encapsula os dados que compõem um objeto Region. Essa classe não pode ser herdada. |
Enumerações
CombineMode |
Especifica como as diferentes regiões de recorte podem ser combinadas. |
CompositingMode |
Especifica como as cores de origem são combinadas com as cores da tela 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 as coordenadas. |
DashCap |
Especifica o tipo de forma do grafo a ser usada nas duas extremidades de cada traço na linha tracejada. |
DashStyle |
Especifica o estilo das 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 assim que possível. |
HatchStyle |
Especifica os diferentes padrões disponíveis para objetos HatchBrush. |
InterpolationMode |
A enumeração InterpolationMode especifica o algoritmo que é usado quando as imagens são dimensionadas ou giradas. |
LinearGradientMode |
Especifica a direção de um gradiente linear. |
LineCap |
Especifica os estilos de extremidade 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 de 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 é aplicada às linhas e às curvas e às bordas das áreas preenchidas. |
WarpMode |
Especifica o tipo de transformação de distorção aplicada a um método Warp. |
WrapMode |
Especifica como uma textura ou gradiente será organizado lado a lado quando for menor que a área sendo preenchida. |
Comentários
Cuidado
O System.Drawing
namespace tem algumas limitações para determinados sistemas operacionais e tipos de aplicativo.
No Windows,
System.Drawing
depende da biblioteca nativa GDI+, que é enviada como parte do sistema operacional. Alguns SKUs do Windows, como o Windows Server Core ou o 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 dependem do
System.Drawing
GDI+, que não tem suporte em serviços e aplicativos de ASP.NET Core e ASP.NET do Windows. 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.No .NET 5 e em versões anteriores, o pacote NuGet System.Drawing.Common funciona no 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+ no Windows e no macOS. Também há 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 o .NET no Linux ou Instalar o .NET no macOS.
No .NET 6 e versões 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 |
---|---|
- Caminhos gráficos e gráficos | As GraphicsState classes e GraphicsContainer relatam informações sobre o objeto atual Graphics . GraphicsPath as classes representam uma série de linhas e curvas. As GraphicsPathIterator classes e PathData 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 das transformações de matriz. |
– Classes brush | As PathGradientBrush classes e HatchBrush permitem preencher formas com um gradiente ou um padrão de hachura, respectivamente. |
- Enumeração relacionada a linhas | As LineCap enumerações e CustomLineCap permitem que você especifique estilos de limite para uma linha. A enumeração , LineJoin 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 mesclagem para um LinearGradientBrush. A FillMode enumeração especifica o estilo de preenchimento de um GraphicsPath. |
Cuidado
Não há suporte para classes no System.Drawing.Drawing2D namespace para uso em um serviço windows ou ASP.NET. Tentar usar essas classes em um desses tipos de aplicativo pode produzir problemas inesperados, como redução do desempenho do serviço e exceções de tempo de execução.