System.Drawing 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 acesso à funcionalidade básica de elementos gráficos do GDI+. Os System.Drawing.Drawing2Dnamespaces , System.Drawing.Imaginge System.Drawing.Text fornecem funcionalidades mais avançadas. Para obter 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. |
StockIconId |
Fornece identificadores de ícone para uso com GetStockIcon(StockIconId, StockIconOptions). |
StockIconOptions |
Fornece opções para uso com GetStockIcon(StockIconId, StockIconOptions). |
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 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 Graphics classe fornece métodos para desenhar no dispositivo de exibição. Classes como Rectangle e Point encapsulam primitivos GDI+. A Pen classe é usada para desenhar linhas e curvas, enquanto classes derivadas da classe Brush abstrata são usadas para preencher os interiores das formas.