Bitmap Classe
Definição
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.
Encapsula um bitmap GDI+, que consiste nos dados de píxeis de uma imagem gráfica e os seus atributos. A Bitmap é um objeto usado para trabalhar com imagens definidas por dados de píxeis.
public ref class Bitmap sealed : System::Drawing::Image
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public sealed class Bitmap : System.Drawing.Image
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Serializable>]
type Bitmap = class
inherit Image
Public NotInheritable Class Bitmap
Inherits Image
- Herança
- Atributos
Exemplos
O exemplo de código seguinte demonstra como construir um novo Bitmap a partir de um ficheiro, usando os GetPixel métodos e SetPixel para recolorir a imagem. Também utiliza as PixelFormatpropriedades , Width, e Height .
Este exemplo foi concebido para ser usado com um Windows Forms que contenha Label, PictureBox e Button nomeados respetivamente Label1, PictureBox1 e Button1. Cole o código no formulário e associe o Button1_Click método ao evento do Click botão.
private:
Bitmap^ image1;
void Button1_Click( System::Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
try
{
// Retrieve the image.
image1 = gcnew Bitmap( "C:\\Documents and Settings\\All Users\\"
"Documents\\My Music\\music.bmp",true );
int x;
int y;
// Loop through the images pixels to reset color.
for ( x = 0; x < image1->Width; x++ )
{
for ( y = 0; y < image1->Height; y++ )
{
Color pixelColor = image1->GetPixel( x, y );
Color newColor = Color::FromArgb( pixelColor.R, 0, 0 );
image1->SetPixel( x, y, newColor );
}
}
// Set the PictureBox to display the image.
PictureBox1->Image = image1;
// Display the pixel format in Label1.
Label1->Text = String::Format( "Pixel format: {0}", image1->PixelFormat );
}
catch ( ArgumentException^ )
{
MessageBox::Show( "There was an error."
"Check the path to the image file." );
}
}
Bitmap image1;
private void Button1_Click(System.Object sender, System.EventArgs e)
{
try
{
// Retrieve the image.
image1 = new Bitmap(@"C:\Documents and Settings\All Users\"
+ @"Documents\My Music\music.bmp", true);
int x, y;
// Loop through the images pixels to reset color.
for(x=0; x<image1.Width; x++)
{
for(y=0; y<image1.Height; y++)
{
Color pixelColor = image1.GetPixel(x, y);
Color newColor = Color.FromArgb(pixelColor.R, 0, 0);
image1.SetPixel(x, y, newColor);
}
}
// Set the PictureBox to display the image.
PictureBox1.Image = image1;
// Display the pixel format in Label1.
Label1.Text = "Pixel format: "+image1.PixelFormat.ToString();
}
catch(ArgumentException)
{
MessageBox.Show("There was an error." +
"Check the path to the image file.");
}
}
Dim image1 As Bitmap
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
Try
' Retrieve the image.
image1 = New Bitmap( _
"C:\Documents and Settings\All Users\Documents\My Music\music.bmp", _
True)
Dim x, y As Integer
' Loop through the images pixels to reset color.
For x = 0 To image1.Width - 1
For y = 0 To image1.Height - 1
Dim pixelColor As Color = image1.GetPixel(x, y)
Dim newColor As Color = _
Color.FromArgb(pixelColor.R, 0, 0)
image1.SetPixel(x, y, newColor)
Next
Next
' Set the PictureBox to display the image.
PictureBox1.Image = image1
' Display the pixel format in Label1.
Label1.Text = "Pixel format: " + image1.PixelFormat.ToString()
Catch ex As ArgumentException
MessageBox.Show("There was an error." _
& "Check the path to the image file.")
End Try
End Sub
Observações
Um bitmap consiste nos dados de píxeis de uma imagem gráfica e nos seus atributos. Existem muitos formatos padrão para guardar um bitmap num ficheiro. O GDI+ suporta os seguintes formatos de ficheiro: BMP, GIF, EXIF, JPG, PNG e TIFF. Para mais informações sobre formatos suportados, consulte Tipos de Bitmaps.
Pode criar imagens a partir de ficheiros, fluxos e outras fontes usando um dos Bitmap construtores e guardá-las num fluxo ou no sistema de ficheiros com o Save método. As imagens são desenhadas para o ecrã ou para a memória usando o DrawImage método do Graphics objeto. Para uma lista de tópicos sobre o trabalho com ficheiros de imagem, consulte Trabalhar com Imagens, Bitmaps, Ícones e Metaficheiros.
Note
No .NET 6 e versões posteriores, o pacote System.Drawing.Common, que inclui esse tipo, só é suportado em sistemas operacionais Windows. O uso deste tipo em aplicações multiplataforma causa avisos em tempo de compilação e exceções em tempo de execução. Para obter mais informações, consulte System.Drawing.Common suportado apenas no Windows.
Note
A Bitmap classe não é acessível entre domínios de aplicação. Por exemplo, se criares uma dinâmica AppDomain e criares vários pincéis, canetas e bitmaps nesse domínio, e depois passares esses objetos de volta para o domínio principal da aplicação, podes usar com sucesso as canetas e pincéis. No entanto, se chamar o DrawImage método para desenhar o marshaled Bitmap, recebe a seguinte exceção:
O campo remoto não consegue encontrar o campo "native image" no tipo "System.Drawing.Image".
Construtores
| Name | Description |
|---|---|
| Bitmap(Image, Int32, Int32) |
Inicializa uma nova instância da Bitmap classe a partir da imagem existente especificada, escalada para o tamanho especificado. |
| Bitmap(Image, Size) |
Inicializa uma nova instância da Bitmap classe a partir da imagem existente especificada, escalada para o tamanho especificado. |
| Bitmap(Image) |
Inicializa uma nova instância da Bitmap classe a partir da imagem existente especificada. |
| Bitmap(Int32, Int32, Graphics) |
Inicializa uma nova instância da Bitmap classe com o tamanho especificado e com a resolução do objeto especificado Graphics . |
| Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr) |
Inicializa uma nova instância da Bitmap classe com o tamanho, formato de píxel e dados de píxeis especificados. |
| Bitmap(Int32, Int32, PixelFormat) |
Inicializa uma nova instância da Bitmap classe com o tamanho e formato especificados. |
| Bitmap(Int32, Int32) |
Inicializa uma nova instância da Bitmap classe com o tamanho especificado. |
| Bitmap(Stream, Boolean) |
Inicializa uma nova instância da Bitmap classe a partir do fluxo de dados especificado. |
| Bitmap(Stream) |
Inicializa uma nova instância da Bitmap classe a partir do fluxo de dados especificado. |
| Bitmap(String, Boolean) |
Inicializa uma nova instância da Bitmap classe a partir do ficheiro especificado. |
| Bitmap(String) |
Inicializa uma nova instância da Bitmap classe a partir do ficheiro especificado. |
| Bitmap(Type, String) |
Inicializa uma nova instância da Bitmap classe a partir de um recurso especificado. |
Propriedades
| Name | Description |
|---|---|
| Flags |
Obtém flags de atributos para os dados de píxeis deste Image. (Herdado de Image) |
| FrameDimensionsList |
Obtém um array de GUIDs que representam as dimensões dos frames dentro deste Image. (Herdado de Image) |
| Height |
Obtém a altura, em pixels, deste Image. (Herdado de Image) |
| HorizontalResolution |
Obtém a resolução horizontal, em píxeis por polegada, desta Image. (Herdado de Image) |
| Palette |
Obtém ou define a paleta de cores usada para isto Image. (Herdado de Image) |
| PhysicalDimension |
Obtém a largura e altura desta imagem. (Herdado de Image) |
| PixelFormat |
Obtém o formato de píxeis para isto Image. (Herdado de Image) |
| PropertyIdList |
Obtém IDs dos itens da propriedade armazenados neste Image. (Herdado de Image) |
| PropertyItems |
Obtém todos os itens de propriedade (metadados) armazenados neste Image. (Herdado de Image) |
| RawFormat |
Obtém o formato de ficheiro deste Image. (Herdado de Image) |
| Size |
Obtém a largura e altura, em píxeis, desta imagem. (Herdado de Image) |
| Tag |
Obtém ou define um objeto que fornece dados adicionais sobre a imagem. (Herdado de Image) |
| VerticalResolution |
Obtém a resolução vertical, em píxeis por polegada, deste Image. (Herdado de Image) |
| Width |
Obtém a largura, em pixels, deste Image. (Herdado de Image) |
Métodos
| Name | Description |
|---|---|
| Clone() |
Cria uma cópia exata deste Image. (Herdado de Image) |
| Clone(Rectangle, PixelFormat) |
Cria uma cópia da secção desta Bitmap definida por Rectangle estrutura e com uma enumeração especificada PixelFormat . |
| Clone(RectangleF, PixelFormat) |
Cria uma cópia da secção desta Bitmap definida com uma enumeração especificada PixelFormat . |
| CreateObjRef(Type) |
Cria um objeto que contém toda a informação relevante necessária para gerar um proxy usado para comunicar com um objeto remoto. (Herdado de MarshalByRefObject) |
| Dispose() |
Liberta todos os recursos utilizados por este Image. (Herdado de Image) |
| Dispose(Boolean) |
Liberta os recursos não geridos usados pelo Image e opcionalmente liberta os recursos geridos. (Herdado de Image) |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| FromHicon(IntPtr) |
Cria um Bitmap de um handle Windows para um ícone. |
| FromResource(IntPtr, String) |
Cria um Bitmap a partir do recurso Windows especificado. |
| GetBounds(GraphicsUnit) |
Obtém os limites da imagem na unidade especificada. (Herdado de Image) |
| GetEncoderParameterList(Guid) |
Devolve informação sobre os parâmetros suportados pelo codificador de imagem especificado. (Herdado de Image) |
| GetFrameCount(FrameDimension) |
Devolve o número de frames da dimensão especificada. (Herdado de Image) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetHbitmap() |
Cria um objeto bitmap GDI a partir deste Bitmap. |
| GetHbitmap(Color) |
Cria um objeto bitmap GDI a partir deste Bitmap. |
| GetHicon() |
Devolve o cabo a um ícone. |
| GetLifetimeService() |
Recupera o objeto de serviço de tempo de vida atual que controla a política de vida útil neste caso. (Herdado de MarshalByRefObject) |
| GetPixel(Int32, Int32) |
Obtém a cor do pixel especificado neste Bitmap. |
| GetPropertyItem(Int32) |
Obtém o item de propriedade especificado a partir deste Image. (Herdado de Image) |
| GetThumbnailImage(Int32, Int32, Image+GetThumbnailImageAbort, IntPtr) |
Devolve uma miniatura para isto Image. (Herdado de Image) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| InitializeLifetimeService() |
Obtém-se um objeto de serviço vitalício para controlar a apólice vitalícia neste caso. (Herdado de MarshalByRefObject) |
| LockBits(Rectangle, ImageLockMode, PixelFormat, BitmapData) |
Bloqueia a Bitmap na memória do sistema. |
| LockBits(Rectangle, ImageLockMode, PixelFormat) |
Bloqueia a Bitmap na memória do sistema. |
| MakeTransparent() |
Torna a cor transparente padrão transparente para este Bitmap. |
| MakeTransparent(Color) |
Torna a cor especificada transparente para este Bitmap. |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| MemberwiseClone(Boolean) |
Cria uma cópia superficial do objeto atual MarshalByRefObject . (Herdado de MarshalByRefObject) |
| RemovePropertyItem(Int32) |
Remove o item de propriedade especificado deste Image. (Herdado de Image) |
| RotateFlip(RotateFlipType) |
Roda, vira ou roda e vira o Image. (Herdado de Image) |
| Save(Stream, ImageCodecInfo, EncoderParameters) |
Guarda esta imagem no fluxo especificado, com os parâmetros do codificador e do codificador de imagem especificados. (Herdado de Image) |
| Save(Stream, ImageFormat) |
Guarda esta imagem no fluxo especificado no formato especificado. (Herdado de Image) |
| Save(String, ImageCodecInfo, EncoderParameters) |
Guarda isto Image no ficheiro especificado, com os parâmetros especificados do codificador e do codificador de imagem. (Herdado de Image) |
| Save(String, ImageFormat) |
Guarda isto Image no ficheiro especificado no formato especificado. (Herdado de Image) |
| Save(String) |
Guarda isto Image no ficheiro ou stream especificado. (Herdado de Image) |
| SaveAdd(EncoderParameters) |
Adiciona um frame ao ficheiro ou stream especificado numa chamada anterior ao Save método. Use este método para guardar fotogramas selecionados de uma imagem de múltiplos quadros para outra imagem de múltiplos quadros. (Herdado de Image) |
| SaveAdd(Image, EncoderParameters) |
Adiciona um frame ao ficheiro ou stream especificado numa chamada anterior ao Save método. (Herdado de Image) |
| SelectActiveFrame(FrameDimension, Int32) |
Seleciona o referencial especificado pela dimensão e índice. (Herdado de Image) |
| SetPixel(Int32, Int32, Color) |
Define a cor do pixel especificado neste Bitmap. |
| SetPropertyItem(PropertyItem) |
Armazena um item de propriedade (metadado) neste Image. (Herdado de Image) |
| SetResolution(Single, Single) |
Define a resolução para este Bitmap. |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
| UnlockBits(BitmapData) |
Desbloqueia isto Bitmap a partir da memória do sistema. |
Implementações de Interface Explícita
| Name | Description |
|---|---|
| ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Preenche a SerializationInfo com os dados necessários para serializar o objeto alvo. (Herdado de Image) |