System.Drawing.Imaging Namespace

Fornece funcionalidade avançada de geração de imagens do GDI+. Funcionalidade básica de gráficos é fornecida pelo namespace System.Drawing.

Classes

BitmapData

Especifica os atributos de uma imagem em bitmap. A classe BitmapData é usada pelos métodos LockBits e UnlockBits(BitmapData) da classe Bitmap. Não herdável.

CachedBitmap

Representa uma cópia dependente do dispositivo de uma Bitmap correspondência das configurações atuais do dispositivo (exibição) de um objeto especificado Graphics . Evita a reformatação da etapa ao renderizar, o que pode melhorar significativamente o desempenho.

ColorMap

Define um mapa para a conversão de cores. Vários métodos da classe ImageAttributes ajustam as cores da imagem usando uma tabela de remapeamento de cores, que é uma matriz de estruturas ColorMap. Não herdável.

ColorMatrix

Define uma matriz 5x5 que contém as coordenadas para o espaço RGBAW. Vários métodos da classe ImageAttributes ajustam as cores da imagem usando uma matriz de cores. Essa classe não pode ser herdada.

ColorPalette

Define uma matriz de cores que formam uma paleta de cores. As cores são as cores ARGB de 32 bits. Não herdável.

Encoder

Um objeto Encoder encapsula um GUID (identificador global exclusivo) que identifica a categoria de um parâmetro codificador de imagem.

EncoderParameter

Usado para passar um valor, ou uma matriz de valores, para um codificador de imagem.

EncoderParameters

Encapsula uma matriz de objetos EncoderParameter.

FrameDimension

Fornece propriedades que obtêm as dimensões do quadro de uma imagem. Não herdável.

ImageAttributes

Contém informações sobre como as cores do bitmap e do metarquivo são manipuladas durante a renderização.

ImageCodecInfo

A classe ImageCodecInfo fornece os métodos e membros de armazenamento necessário para recuperar todas as informações pertinentes sobre os codificadores e decodificadores de imagem instalados (chamados codecs). Não herdável.

ImageFormat

Especifica o formato de arquivo da imagem. Não herdável.

Metafile

Define um metarquivo gráfico. Um metarquivo contém registros que descrevem uma sequência de operações de gráficos que pode ser registrada (construída) e reproduzida (exibida). Essa classe não é herdável.

MetafileHeader

Contém atributos de um Metafile associado. Não herdável.

MetaHeader

Contém informações sobre um metarquivo WMF (formato do Windows).

PropertyItem

Encapsula uma propriedade de metadados a ser incluída em um arquivo de imagem. Não herdável.

WmfPlaceableFileHeader

Define um metarquivo posicionável. Não herdável.

Enumerações

ColorAdjustType

Especifica quais objetos GDI+ usam informações de ajuste de cor.

ColorChannelFlag

Especifica os canais individuais no espaço de cores CMYK (ciano, magenta, amarelo, preto). Esta enumeração é usada pelos métodos SetOutputChannel.

ColorMapType

Especifica os tipos de tabelas de cores.

ColorMatrixFlag

Especifica os tipos de imagens e cores que serão afetadas pelas configurações de ajuste de cores e escala de cinza de um ImageAttributes.

ColorMode

Especifica dois modos para valores de componente de cor.

DitherType

Fornece funcionalidade avançada de geração de imagens do GDI+. Funcionalidade básica de gráficos é fornecida pelo namespace System.Drawing.

EmfPlusRecordType

Especifica os métodos disponíveis para uso com um meta-arquivo para ler e gravar comandos gráficos.

EmfType

Especifica a natureza dos registros que são colocados em um arquivo EMF(Enhanced Metafile). Essa enumeração é usada por vários construtores na classe Metafile.

EncoderParameterValueType

Especifica o tipo de dados do EncoderParameter usado com o método Save ou SaveAdd de uma imagem.

EncoderValue

Usado para especificar o valor do parâmetro passado a um codificador de imagem JPEG ou TIFF ao usar os métodos Save(String, ImageCodecInfo, EncoderParameters) ou SaveAdd(EncoderParameters).

ImageCodecFlags

Fornece os atributos de um codec de imagem.

ImageFlags

Especifica os atributos dos dados de pixel contidos em um objeto Image. A propriedade Flags retorna um membro dessa enumeração.

ImageLockMode

Especifica os sinalizadores passados para o parâmetro de sinalizadores do método LockBits. O método LockBits bloqueia uma parte de uma imagem para que seja possível ler ou gravar os dados de pixel.

MetafileFrameUnit

Especifica a unidade de medida do retângulo usado para dimensionar e posicionar um metarquivo. Isso é especificado durante a criação do objeto Metafile.

MetafileType

Especifica tipos de metarquivos. A propriedade Type retorna um membro dessa enumeração.

PaletteFlags

Especifica o tipo de dados de cores na paleta do sistema. Os dados podem ser dados de cores que tenham apenas dados alfa em escala de cinza ou dados de meio-tom.

PaletteType

Fornece funcionalidade avançada de geração de imagens do GDI+. Funcionalidade básica de gráficos é fornecida pelo namespace System.Drawing.

PixelFormat

Especifica o formato dos dados de cor para cada pixel da imagem.

Delegados

PlayRecordCallback

Este delegado não é usado. Para obter um exemplo de enumerar os registros de um metarquivo, consulte EnumerateMetafile(Metafile, Point, Graphics+EnumerateMetafileProc).

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.DrawingGDI+, 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 Metafile classe fornece métodos para gravar e salvar metarquivos. A Encoder classe permite que os usuários estendam o GDI+ para dar suporte a qualquer formato de imagem. A PropertyItem classe fornece métodos para armazenar e recuperar metadados em arquivos de imagem.

Cuidado

Não há suporte para classes dentro do System.Drawing.Imaging namespace para uso em um serviço windows ou ASP.NET. Tentar usar essas classes de dentro de 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.

Confira também