System.Drawing.Drawing2D Espaço de Nomes
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Oferece funcionalidades avançadas de gráficos bidimensionais e vetoriais.
Classes
| Name | Description |
|---|---|
| AdjustableArrowCap |
Representa uma tampa de linha ajustável em forma de seta. Esta classe não pode ser herdada. |
| Blend |
Define um padrão de mistura para um LinearGradientBrush objeto. Esta classe não pode ser herdada. |
| ColorBlend |
Define arrays de cores e posições usados para interpolar a mistura de cores num gradiente multicolorido. Esta classe não pode ser herdada. |
| CustomLineCap |
Encapsula um limite de linha personalizado definido pelo utilizador. |
| GraphicsContainer |
Representa os dados internos de um contentor gráfico. Esta classe é usada ao guardar o estado de um Graphics objeto usando os BeginContainer() métodos e.EndContainer(GraphicsContainer) Esta classe não pode ser herdada. |
| GraphicsPath |
Representa uma série de linhas e curvas ligadas. Esta classe não pode ser herdada. |
| GraphicsPathIterator |
Proporciona a capacidade de iterar através de subcaminhos e GraphicsPath testar os tipos de formas contidas em cada subcaminho. Esta classe não pode ser herdada. |
| GraphicsState |
Representa o estado de um Graphics objeto. Este objeto é devolvido por uma chamada aos Save() métodos. Esta classe não pode ser herdada. |
| HatchBrush |
Define um pincel retangular com um estilo de hachura, uma cor de primeiro plano e uma cor de fundo. Esta classe não pode ser herdada. |
| LinearGradientBrush |
Encapsula a Brush com um gradiente linear. Esta classe não pode ser herdada. |
| Matrix |
Encapsula uma matriz afim 3 por 3 que representa uma transformada geométrica. Esta classe não pode ser herdada. |
| PathData |
Contém os dados gráficos que compõem um GraphicsPath objeto. Esta classe não pode ser herdada. |
| PathGradientBrush |
Encapsula um Brush objeto que preenche o interior de um GraphicsPath objeto com um gradiente. Esta classe não pode ser herdada. |
| RegionData |
Encapsula os dados que compõem um Region objeto. Esta classe não pode ser herdada. |
Enumerações
| Name | Description |
|---|---|
| CombineMode |
Especifica como diferentes regiões de clipping podem ser combinadas. |
| CompositingMode |
Especifica como as cores de origem são combinadas com as cores de fundo. |
| CompositingQuality |
Especifica o nível de qualidade a usar durante a composição. |
| CoordinateSpace |
Especifica o sistema a usar na avaliação de coordenadas. |
| DashCap |
Especifica o tipo de forma gráfica a usar em ambas as extremidades de cada traço numa linha tracejada. |
| DashStyle |
Especifica o estilo das linhas tracejadas desenhadas com um Pen objeto. |
| FillMode |
Especifica como o interior de um caminho fechado é preenchido. |
| FlushIntention |
Especifica se os comandos na pilha gráfica são terminados imediatamente ou executados o mais rapidamente possível. |
| HatchStyle |
Especifica os diferentes padrões disponíveis para HatchBrush os objetos. |
| InterpolationMode |
A InterpolationMode enumeração especifica o algoritmo utilizado quando as imagens são escaladas ou rodadas. |
| LinearGradientMode |
Especifica a direção de um gradiente linear. |
| LineCap |
Especifica os estilos de capas disponíveis com os quais um Pen objeto pode terminar uma linha. |
| LineJoin |
Especifica como unir segmentos consecutivos de linha ou curva numa figura (subcaminho) contida num GraphicsPath objeto. |
| MatrixOrder |
Especifica a ordem para operações de transformada matricial. |
| PathPointType |
Especifica o tipo de ponto num GraphicsPath objeto. |
| PenAlignment |
Especifica o alinhamento de um Pen objeto em relação à linha teórica de largura zero. |
| PenType |
Especifica o tipo de preenchimento que um Pen objeto usa para preencher linhas. |
| PixelOffsetMode |
Especifica como os píxeis são deslocados durante a renderização. |
| QualityMode |
Especifica a qualidade global ao renderizar objetos GDI+. |
| SmoothingMode |
Especifica se o suavizamento (antialiasing) é aplicado a linhas e curvas e às arestas de áreas preenchidas. |
| WarpMode |
Especifica o tipo de transformação de dobra aplicada num Warp método. |
| WrapMode |
Especifica como uma textura ou gradiente é tilado quando é menor do que a área a preencher. |
Observações
Atenção
O System.Drawing espaço de nomes apresenta algumas limitações para certos sistemas operativos e tipos de aplicação.
No Windows,
System.Drawingdepende da biblioteca nativa GDI+, que é incluída no sistema operativo. Alguns SKUs do Windows, como o Windows Server Core ou o Windows Nano, não incluem esta biblioteca nativa como parte do sistema operativo. Se usares este namespace e a biblioteca não puder ser carregada, as exceções serão lançadas em tempo de execução.Alguns tipos no espaço de nomes
System.Drawingdependem de GDI+, que não é suportado em serviços Windows nem em aplicações ASP.NET Core e ASP.NET. Estes tipos estão no pacote System.Drawing.Common NuGet e incluem System.Drawing.Bitmap e System.Drawing.Font. No entanto, tipos primitivos no namespace, como System.Drawing.Color, System.Drawing.Size, System.Drawing.Point, e System.Drawing.Rectangle, podem ser usados em qualquer aplicação.No .NET 5 e versões anteriores, o pacote NuGet System.Drawing.Common funciona em Windows, Linux e macOS. No entanto, existem algumas diferenças nas plataformas. No Linux e macOS, a funcionalidade GDI+ é implementada pela biblioteca libgdiplus . Esta biblioteca não está instalada por defeito na maioria das distribuições Linux e não suporta toda a funcionalidade do GDI+ no Windows e macOS. Existem também plataformas onde o libgdiplus não está disponível de todo. Para usar tipos do pacote System.Drawing.Common no Linux e macOS, deve instalar o libgdiplus separadamente. Para mais informações, consulte Instalar .NET em Linux ou Instalar .NET no macOS.
Em versões .NET 6 e posteriores, o pacote NuGet System.Drawing.Common é suportado apenas em sistemas operativos Windows. Para obter mais informações, consulte System.Drawing.Common suportado apenas no Windows.
Se não puder usar System.Drawing com a sua aplicação, as alternativas recomendadas incluem ImageSharp, SkiaSharp, Windows Componentes de Imagem e Microsoft. Maui.Graphics.
A tabela seguinte lista algumas das classes e enumerações importantes no System.Drawing.Drawing2D espaço de nomes, agrupadas em categorias.
| Categoria de classe | Detalhes |
|---|---|
| - Gráficos e caminhos gráficos | As GraphicsState classes e GraphicsContainer reportam 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 com matrizes e transformações | A Matrix classe representa uma matriz para transformadas geométricas. A MatrixOrder enumeração especifica a ordem para transformações matriciais. |
| - Classes de pincel | As PathGradientBrush classes and HatchBrush permitem-te preencher formas com um padrão de gradiente ou de hachura, respetivamente. |
| - Enumeração relacionada com linhas | As LineCap enumerações e CustomLineCap permitem-lhe especificar estilos de maiúsculas para uma linha. A enumeração LineJoin permite-lhe especificar como duas linhas estão unidas num caminho. A PenAlignment enumeração permite-lhe especificar o alinhamento da ponta de desenho ao desenhar uma linha. A PenType enumeração especifica o padrão com que uma linha deve ser preenchida. |
| - Enumerações relacionadas com formas e caminhos de preenchimento | A HatchStyle enumeração especifica estilos de preenchimento para um HatchBrush. A Blend classe especifica um padrão de mistura para um LinearGradientBrush. A FillMode enumeração especifica o estilo de preenchimento para um GraphicsPath. |
Atenção
As classes no espaço de nomes System.Drawing.Drawing2D não são suportadas para uso num serviço Windows ou ASP.NET. Tentar usar estas classes num destes tipos de aplicação pode produzir problemas inesperados, como desempenho de serviço diminuído e exceções em tempo de execução.