System.Drawing Namespace

Fornece acesso à funcionalidade básica de elementos gráficos do GDI+. Os System.Drawing.Drawing2DSystem.Drawing.Imaging namespaces , e System.Drawing.Text fornecem funcionalidades mais avançadas. Para limitações, consulte a seção Comentários.

Classes

Bitmap

Encapsula um bitmap GDI+, que consiste nos dados de pixel de uma imagem de elementos gráficos e seus atributos. A Bitmap é um objeto usado para trabalhar com imagens definidas por dados de pixel.

BitmapSuffixInSameAssemblyAttribute

Especifica que, ao interpretar declarações ToolboxBitmapAttribute, o assembly deve procurar os recursos indicados no mesmo assembly, mas com o valor de configuração BitmapSuffix acrescentado ao nome de arquivo declarado.

BitmapSuffixInSatelliteAssemblyAttribute

Especifica que, ao interpretar declarações ToolboxBitmapAttribute, o assembly deve procurar os recursos indicados em um assembly satélite, mas com o valor de configuração BitmapSuffix acrescentado ao nome de arquivo declarado.

Brush

Define os objetos usados para preencher os interiores de formas gráficas como retângulos, elipses, pizzas, polígonos e caminhos.

Brushes

Pincéis para todas as cores padrão. Essa classe não pode ser herdada.

BufferedGraphics

Fornece um buffer de gráficos para buffer duplo.

BufferedGraphicsContext

Fornece métodos para criação de buffers gráficos que podem ser usados para buffer duplo.

BufferedGraphicsManager

Fornece acesso ao principal objeto de contexto de gráficos em buffer para o domínio de aplicativo.

ColorConverter

Converte cores de um tipo de dados para outro. Acesse esta classe por meio do TypeDescriptor.

ColorTranslator

Converte as cores em e de estruturas Color GDI+. Essa classe não pode ser herdada.

Font

Define um formato específico para texto, incluindo os atributos de estilo, tamanho e face da fonte. Essa classe não pode ser herdada.

FontConverter

Converte objetos Font de um tipo de dados em outro.

FontConverter.FontNameConverter

FontConverter.FontNameConverter é um conversor de tipo usado para converter um nome de fonte de/para diversas outras representações.

FontConverter.FontUnitConverter

Converte as unidades de fonte para/de outros tipos de unidade.

FontFamily

Define um grupo de faces de tipo que têm um design básico semelhante e determinadas variações nos estilos. Essa classe não pode ser herdada.

Graphics

Encapsula uma superfície de desenho GDI+. Essa classe não pode ser herdada.

Icon

Representa um ícone do Windows, que é uma pequena imagem bitmap usada para representar um objeto. Os ícones podem ser considerados bitmaps transparentes, embora seu tamanho seja determinado pelo sistema.

IconConverter

Converte um objeto Icon de um tipo de dados para outro. Acesse essa classe por meio do objeto TypeDescriptor.

Image

Uma classe base abstrata que fornece funcionalidade para as classes descendentes Bitmap e Metafile.

ImageAnimator

Anima uma imagem que tem quadros baseado em tempo.

ImageConverter

ImageConverter é uma classe que pode ser usada para converter objetos Image de um tipo de dados para outro. Acesse essa classe por meio do objeto TypeDescriptor.

ImageFormatConverter

ImageFormatConverter é uma classe que pode ser usada para converter objetos ImageFormat de um tipo de dados para outro. Acesse essa classe por meio do objeto TypeDescriptor.

Pen

Define um objeto usado para desenhar linhas e curvas. Essa classe não pode ser herdada.

Pens

Canetas para todas as cores padrão. Essa classe não pode ser herdada.

PointConverter

Converte um objeto Point de um tipo de dados em outro.

RectangleConverter

Converte retângulos de um tipo de dados em outro. Acesse esta classe por meio do TypeDescriptor.

Region

Descreve o interior de uma forma de gráfico composta por retângulos e caminhos. Essa classe não pode ser herdada.

SizeConverter

A classe SizeConverter é usada para converter de um tipo de dados em outro. Acesse essa classe por meio do objeto TypeDescriptor.

SizeFConverter

Converte objetos SizeF de um tipo em outro.

SolidBrush

Define um pincel de uma única cor. Pincéis são usados para preencher formas de elementos gráficos, como retângulos, elipses, gráficos de pizza, polígonos e caminhos. Essa classe não pode ser herdada.

StringFormat

Encapsula as informações de layout de texto (como alinhamento, orientação e paradas de tabulação) manipulações de exibição (como inserção de reticências e substituição de dígitos nacionais) e recursos OpenType. Essa classe não pode ser herdada.

SystemBrushes

Cada propriedade da classe SystemBrushes é uma SolidBrush que é a cor de um elemento de exibição do Windows.

SystemColors

Cada propriedade da classe SystemColors é uma estrutura Color que é a cor de um elemento de exibição do Windows.

SystemFonts

Especifica as fontes usadas para exibir texto nos elementos de exibição do Windows.

SystemIcons

Cada propriedade da classe SystemIcons é um objeto Icon para ícones gerais do sistema Windows. Essa classe não pode ser herdada.

SystemPens

Cada propriedade da classe SystemPens é uma Pen que é a cor de um elemento de exibição do Windows e tem uma largura de 1 pixel.

TextureBrush

Cada propriedade da classe TextureBrush é um objeto Brush que usa uma imagem para preencher o interior de uma forma. Essa classe não pode ser herdada.

ToolboxBitmapAttribute

Permite especificar um ícone para representar um controle em um contêiner, como o Designer de Formulário do Microsoft Visual Studio.

Estruturas

CharacterRange

Especifica um intervalo de posições de caractere em uma cadeia de caracteres.

Color

Representa uma cor ARGB (alfa, vermelho, verde, azul).

Point

Representa um par ordenado de coordenadas x e y de inteiros que define um ponto em um plano bidimensional.

PointF

Representa um par ordenado de coordenadas x e y de ponto flutuante inteiros que define um ponto em um plano bidimensional.

Rectangle

Armazena um conjunto de quatro inteiros que representam a localização e o tamanho de um retângulo.

RectangleF

Armazena um conjunto de quatro números de ponto flutuante que representam o local e o tamanho de um retângulo. Para funções de região mais avançadas, use um objeto Region.

Size

Armazena um par ordenado de inteiros, que especificam um Height e Width.

SizeF

Armazena um par ordenado de números de ponto flutuante, normalmente com a largura e a altura de um retângulo.

Interfaces

IDeviceContext

Define os métodos para a obter e liberar um identificador existente para um contexto de dispositivo do Windows.

Enumerações

ContentAlignment

Especifica o alinhamento do conteúdo na superfície de desenho.

CopyPixelOperation

Determina como a cor de fonte em uma operação de cópia de pixel é combinada com a cor de destino para resultar em uma cor final.

FontStyle

Especifica informações de estilo aplicadas ao texto.

GraphicsUnit

Especifica a unidade de medida para os dados fornecidos.

KnownColor

Especifica as cores do sistema conhecidas.

RotateFlipType

Especifica quanto uma imagem é girada e o eixo usado para inverter a imagem.

StringAlignment

Especifica o alinhamento da cadeia de caracteres de um texto em relação ao seu retângulo de layout.

StringDigitSubstitute

A enumeração StringDigitSubstitute especifica como substituir dígitos em uma cadeia de caracteres de acordo com a localidade ou o idioma do usuário.

StringFormatFlags

Especifica as informações de layout e de exibição para cadeias de caracteres de texto.

StringTrimming

Especifica como cortar caracteres de uma cadeia de caracteres que não caiba completamente em uma forma de layout.

StringUnit

Especifica as unidades de medida de uma cadeia de texto.

Delegados

Graphics.DrawImageAbort

Fornece um método de retorno de chamada para decidir quando o método DrawImage deve cancelar a execução prematuramente e interromper o desenho de uma imagem.

Graphics.EnumerateMetafileProc

Fornece um método de retorno de chamada para o método EnumerateMetafile.

Image.GetThumbnailImageAbort

Fornece um método de retorno de chamada para determinar quando o método GetThumbnailImage(Int32, Int32, Image+GetThumbnailImageAbort, IntPtr) deve cancelar a execução prematuramente.

Comentários

Cuidado

O System.Drawing namespace tem algumas limitações para determinados sistemas operacionais e tipos de aplicativos.

  • No Windows, depende da GDI+ nativa, que System.Drawing é enviada como parte do sistema operacional. Alguns Windows SKUs, 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 lançadas em tempo de operação.

  • Alguns tipos no namespace dependem de GDI+ , que não tem suporte em serviços Windows e ASP.NET Core System.Drawing e ASP.NET aplicativos. Esses 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 , , e , podem ser usados em qualquer System.Drawing.Size System.Drawing.Point System.Drawing.Rectangle aplicativo.

  • No .NET 5 e em versões anteriores, o pacote de NuGet System.Drawing.Common funciona Windows, Linux e macOS. No entanto, há algumas diferenças de plataforma. No Linux e no macOS, GDI+ funcionalidade é 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 libgdiplus não está disponível. Para usar tipos do pacote System.Drawing.Common no Linux e no macOS, você deve instalar 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 de NuGet System.Drawing.Common só tem suporte em Windows operacionais. Para obter mais informações, consulte System.Drawing.Common com suporte apenas no Windows.

Se você não puder usar com seu aplicativo, as alternativas recomendadas incluem System.Drawing ImageSharp, SkiaSharp, Windows Imaging Componentse Microsoft.Maui.Graphics.

A Graphics classe fornece métodos para desenhar no dispositivo de exibição. Classes como Rectangle e Point encapsulam GDI+ primitivos. A classe é usada para desenhar linhas e curvas, enquanto classes derivadas da classe abstrata são usadas para preencher Pen Brush os interiores de formas.