Bitmap Construtores
Definição
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.
Inicializa uma nova instância da classe Bitmap.
Sobrecargas
Bitmap(Image) |
Inicializa uma nova instância da classe Bitmap da imagem existente especificada. |
Bitmap(Stream) |
Inicializa uma nova instância da classe Bitmap do fluxo de dados especificado. |
Bitmap(String) |
Inicializa uma nova instância da classe Bitmap do arquivo especificado. |
Bitmap(Image, Size) |
Inicializa uma nova instância da classe Bitmap da imagem existente especificada, dimensionada para o tamanho especificado. |
Bitmap(Int32, Int32) |
Inicializa uma nova instância da classe Bitmap com o tamanho especificado. |
Bitmap(Stream, Boolean) |
Inicializa uma nova instância da classe Bitmap do fluxo de dados especificado. |
Bitmap(String, Boolean) |
Inicializa uma nova instância da classe Bitmap do arquivo especificado. |
Bitmap(Type, String) |
Inicializa uma nova instância da classe Bitmap de um recurso especificado. |
Bitmap(Image, Int32, Int32) |
Inicializa uma nova instância da classe Bitmap da imagem existente especificada, dimensionada para o tamanho especificado. |
Bitmap(Int32, Int32, Graphics) |
Inicializa uma nova instância da classe Bitmap com o tamanho especificado e a resolução do objeto Graphics especificado. |
Bitmap(Int32, Int32, PixelFormat) |
Inicializa uma nova instância da classe Bitmap com o tamanho e o formato especificados. |
Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr) |
Inicializa uma nova instância da classe Bitmap com o tamanho, o formato de pixel e os dados de pixel especificados. |
Bitmap(Image)
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
Inicializa uma nova instância da classe Bitmap da imagem existente especificada.
public:
Bitmap(System::Drawing::Image ^ original);
public Bitmap (System.Drawing.Image original);
new System.Drawing.Bitmap : System.Drawing.Image -> System.Drawing.Bitmap
Public Sub New (original As Image)
Parâmetros
Aplica-se a
Bitmap(Stream)
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
Inicializa uma nova instância da classe Bitmap do fluxo de dados especificado.
public:
Bitmap(System::IO::Stream ^ stream);
public Bitmap (System.IO.Stream stream);
new System.Drawing.Bitmap : System.IO.Stream -> System.Drawing.Bitmap
Public Sub New (stream As Stream)
Parâmetros
- stream
- Stream
O fluxo de dados usado para carregar a imagem.
Exceções
stream
não contém dados de imagem ou é null
.
- ou -
stream
contém um arquivo de imagem PNG com uma única dimensão maior do que 65.535 pixels.
Exemplos
O exemplo de código a seguir demonstra como carregar um bitmap de um fluxo.
Este exemplo foi projetado para ser usado com Windows Forms. Create um formulário que contém um PictureBox chamado PictureBox1
. Cole o código no formulário e chame o InitializeStreamBitmap
método do construtor do formulário ou Load do método de manipulação de eventos.
void InitializeStreamBitmap()
{
try
{
System::Net::WebRequest^ request = System::Net::WebRequest::Create( "http://www.microsoft.com//h/en-us/r/ms_masthead_ltr.gif" );
System::Net::WebResponse^ response = request->GetResponse();
System::IO::Stream^ responseStream = response->GetResponseStream();
Bitmap^ bitmap2 = gcnew Bitmap( responseStream );
PictureBox1->Image = bitmap2;
}
catch ( System::Net::WebException^ )
{
MessageBox::Show( "There was an error opening the image file."
"Check the URL" );
}
}
private void InitializeStreamBitmap()
{
try
{
System.Net.WebRequest request =
System.Net.WebRequest.Create(
"http://www.microsoft.com//h/en-us/r/ms_masthead_ltr.gif");
System.Net.WebResponse response = request.GetResponse();
System.IO.Stream responseStream =
response.GetResponseStream();
Bitmap bitmap2 = new Bitmap(responseStream);
PictureBox1.Image = bitmap2;
}
catch(System.Net.WebException)
{
MessageBox.Show("There was an error opening the image file."
+ "Check the URL");
}
}
Private Sub InitializeStreamBitmap()
Try
Dim request As System.Net.WebRequest = _
System.Net.WebRequest.Create( _
"http://www.microsoft.com//h/en-us/r/ms_masthead_ltr.gif")
Dim response As System.Net.WebResponse = request.GetResponse()
Dim responseStream As System.IO.Stream = response.GetResponseStream()
Dim bitmap2 As New Bitmap(responseStream)
PictureBox1.Image = bitmap2
Catch ex As System.Net.WebException
MessageBox.Show("There was an error opening the image file. Check the URL")
End Try
End Sub
Comentários
Você deve manter o fluxo aberto durante o tempo de vida do Bitmap.
Devido a uma limitação do decodificador GDI+, um System.ArgumentException será gerado se você construir um bitmap de um arquivo de imagem .png com uma única dimensão maior que 65.535 pixels.
Confira também
Aplica-se a
Bitmap(String)
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
Inicializa uma nova instância da classe Bitmap do arquivo especificado.
public:
Bitmap(System::String ^ filename);
public Bitmap (string filename);
new System.Drawing.Bitmap : string -> System.Drawing.Bitmap
Public Sub New (filename As String)
Parâmetros
- filename
- String
O caminho e o nome do arquivo de bitmap.
Exceções
O arquivo especificado não foi encontrado.
Comentários
O nome e o caminho do arquivo podem ser relativos ao aplicativo ou a um caminho absoluto. Use esse construtor para abrir imagens com os seguintes formatos de arquivo: BMP, GIF, EXIF, JPG, PNG e TIFF. Para obter mais informações sobre formatos com suporte, consulte Tipos de Bitmaps. O arquivo permanece bloqueado até que o Bitmap seja descartado.
Confira também
Aplica-se a
Bitmap(Image, Size)
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
Inicializa uma nova instância da classe Bitmap da imagem existente especificada, dimensionada para o tamanho especificado.
public:
Bitmap(System::Drawing::Image ^ original, System::Drawing::Size newSize);
public Bitmap (System.Drawing.Image original, System.Drawing.Size newSize);
new System.Drawing.Bitmap : System.Drawing.Image * System.Drawing.Size -> System.Drawing.Bitmap
Public Sub New (original As Image, newSize As Size)
Parâmetros
Exceções
Falha na operação.
Aplica-se a
Bitmap(Int32, Int32)
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
Inicializa uma nova instância da classe Bitmap com o tamanho especificado.
public:
Bitmap(int width, int height);
public Bitmap (int width, int height);
new System.Drawing.Bitmap : int * int -> System.Drawing.Bitmap
Public Sub New (width As Integer, height As Integer)
Parâmetros
Exceções
Falha na operação.
Comentários
Esse construtor cria um Bitmap com um PixelFormat valor de enumeração de Format32bppArgb.
Aplica-se a
Bitmap(Stream, Boolean)
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
Inicializa uma nova instância da classe Bitmap do fluxo de dados especificado.
public:
Bitmap(System::IO::Stream ^ stream, bool useIcm);
public Bitmap (System.IO.Stream stream, bool useIcm);
new System.Drawing.Bitmap : System.IO.Stream * bool -> System.Drawing.Bitmap
Public Sub New (stream As Stream, useIcm As Boolean)
Parâmetros
- stream
- Stream
O fluxo de dados usado para carregar a imagem.
Exceções
stream
não contém dados de imagem ou é null
.
- ou -
stream
contém um arquivo de imagem PNG com uma única dimensão maior do que 65.535 pixels.
Comentários
Você deve manter o fluxo aberto durante o tempo de vida do Bitmap.
Devido a uma limitação do decodificador GDI+, um System.ArgumentException será gerado se você construir um bitmap de um arquivo de imagem .png com uma única dimensão maior que 65.535 pixels.
Confira também
Aplica-se a
Bitmap(String, Boolean)
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
Inicializa uma nova instância da classe Bitmap do arquivo especificado.
public:
Bitmap(System::String ^ filename, bool useIcm);
public Bitmap (string filename, bool useIcm);
new System.Drawing.Bitmap : string * bool -> System.Drawing.Bitmap
Public Sub New (filename As String, useIcm As Boolean)
Parâmetros
- filename
- String
O nome do arquivo bitmap.
Exemplos
O exemplo de código a seguir demonstra como construir um novo bitmap de um arquivo. O exemplo usa os GetPixel métodos e SetPixel para recolorir a imagem. Ele também usa a PixelFormat propriedade .
Este exemplo foi projetado para ser usado com um Windows Form que contém um Label, PictureBox e Button chamados Label1
, PictureBox1
e Button1
, respectivamente. 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
Comentários
Use esse construtor para abrir imagens com os seguintes formatos de arquivo: BMP, GIF, EXIF, JPG, PNG e TIFF. Para obter mais informações sobre formatos com suporte, consulte Tipos de Bitmaps. O arquivo permanece bloqueado até que o Bitmap seja descartado.
Confira também
Aplica-se a
Bitmap(Type, String)
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
Inicializa uma nova instância da classe Bitmap de um recurso especificado.
public:
Bitmap(Type ^ type, System::String ^ resource);
public Bitmap (Type type, string resource);
new System.Drawing.Bitmap : Type * string -> System.Drawing.Bitmap
Public Sub New (type As Type, resource As String)
Parâmetros
- type
- Type
A classe usada para extrair o recurso.
- resource
- String
O nome do recurso.
Exemplos
O exemplo de código a seguir demonstra como construir um bitmap de um tipo e como usar o Save método . Para executar este exemplo, cole o código em um Windows Form. Manipular o evento do Paint formulário e chamar o ConstructFromResourceSaveAsGif
método , passando e
como PaintEventArgs
private:
void ConstructFromResourceSaveAsGif(PaintEventArgs^ e)
{
// Construct a bitmap from the button image resource.
Bitmap^ bmp1 = gcnew Bitmap(Button::typeid, "Button.bmp");
String^ savePath =
Environment::GetEnvironmentVariable("TEMP") + "\\Button.bmp";
try
{
// Save the image as a GIF.
bmp1->Save(savePath, System::Drawing::Imaging::ImageFormat::Gif);
}
catch (IOException^)
{
// Carry on regardless
}
// Construct a new image from the GIF file.
Bitmap^ bmp2 = nullptr;
if (File::Exists(savePath))
{
bmp2 = gcnew Bitmap(savePath);
}
// Draw the two images.
e->Graphics->DrawImage(bmp1, Point(10, 10));
// If bmp1 did not save to disk, bmp2 may be null
if (bmp2 != nullptr)
{
e->Graphics->DrawImage(bmp2, Point(10, 40));
}
// Dispose of the image files.
delete bmp1;
if (bmp2 != nullptr)
{
delete bmp2;
}
}
private void ConstructFromResourceSaveAsGif(PaintEventArgs e)
{
// Construct a bitmap from the button image resource.
Bitmap bmp1 = new Bitmap(typeof(Button), "Button.bmp");
// Save the image as a GIF.
bmp1.Save("c:\\button.gif", System.Drawing.Imaging.ImageFormat.Gif);
// Construct a new image from the GIF file.
Bitmap bmp2 = new Bitmap("c:\\button.gif");
// Draw the two images.
e.Graphics.DrawImage(bmp1, new Point(10, 10));
e.Graphics.DrawImage(bmp2, new Point(10, 40));
// Dispose of the image files.
bmp1.Dispose();
bmp2.Dispose();
}
Private Sub ConstructFromResourceSaveAsGif(ByVal e As PaintEventArgs)
' Construct a bitmap from the button image resource.
Dim bmp1 As New Bitmap(GetType(Button), "Button.bmp")
' Save the image as a GIF.
bmp1.Save("c:\button.gif", System.Drawing.Imaging.ImageFormat.Gif)
' Construct a new image from the GIF file.
Dim bmp2 As New Bitmap("c:\button.gif")
' Draw the two images.
e.Graphics.DrawImage(bmp1, New Point(10, 10))
e.Graphics.DrawImage(bmp2, New Point(10, 40))
' Dispose of the image files.
bmp1.Dispose()
bmp2.Dispose()
End Sub
Comentários
Esse construtor combina o namespace do tipo fornecido com o nome da cadeia de caracteres do recurso e procura uma correspondência no manifesto do assembly. Por exemplo, você pode passar o Button tipo e Button.bmp
para esse construtor e ele procurará um recurso chamado System.Windows.Forms.Button.bmp
.
Confira também
Aplica-se a
Bitmap(Image, Int32, Int32)
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
Inicializa uma nova instância da classe Bitmap da imagem existente especificada, dimensionada para o tamanho especificado.
public:
Bitmap(System::Drawing::Image ^ original, int width, int height);
public Bitmap (System.Drawing.Image original, int width, int height);
new System.Drawing.Bitmap : System.Drawing.Image * int * int -> System.Drawing.Bitmap
Public Sub New (original As Image, width As Integer, height As Integer)
Parâmetros
Exceções
Falha na operação.
Aplica-se a
Bitmap(Int32, Int32, Graphics)
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
public:
Bitmap(int width, int height, System::Drawing::Graphics ^ g);
public Bitmap (int width, int height, System.Drawing.Graphics g);
new System.Drawing.Bitmap : int * int * System.Drawing.Graphics -> System.Drawing.Bitmap
Public Sub New (width As Integer, height As Integer, g As Graphics)
Parâmetros
Exceções
g
é null
.
Comentários
O novo Bitmap que esse método cria usa sua resolução horizontal e vertical das DpiX propriedades e DpiY de g
, respectivamente.
Aplica-se a
Bitmap(Int32, Int32, PixelFormat)
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
Inicializa uma nova instância da classe Bitmap com o tamanho e o formato especificados.
public:
Bitmap(int width, int height, System::Drawing::Imaging::PixelFormat format);
public Bitmap (int width, int height, System.Drawing.Imaging.PixelFormat format);
new System.Drawing.Bitmap : int * int * System.Drawing.Imaging.PixelFormat -> System.Drawing.Bitmap
Public Sub New (width As Integer, height As Integer, format As PixelFormat)
Parâmetros
- format
- PixelFormat
O formato de pixel para o novo Bitmap. Deve especificar um valor que começa com Format
.
Exceções
Um valor PixelFormat foi especificado, cujo nome não começa com Format. Por exemplo, especificar Gdi causará um ArgumentException, mas Format48bppRgb não.
Aplica-se a
Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr)
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
Inicializa uma nova instância da classe Bitmap com o tamanho, o formato de pixel e os dados de pixel especificados.
public:
Bitmap(int width, int height, int stride, System::Drawing::Imaging::PixelFormat format, IntPtr scan0);
public Bitmap (int width, int height, int stride, System.Drawing.Imaging.PixelFormat format, IntPtr scan0);
new System.Drawing.Bitmap : int * int * int * System.Drawing.Imaging.PixelFormat * nativeint -> System.Drawing.Bitmap
Public Sub New (width As Integer, height As Integer, stride As Integer, format As PixelFormat, scan0 As IntPtr)
Parâmetros
- stride
- Int32
Inteiro que especifica o deslocamento de byte entre o início de uma linha de uma varredura e a linha seguinte. É normalmente (mas não necessariamente) o número de bytes no formato de pixel (por exemplo, 2 por 16 bits por pixel) multiplicado pela largura do bitmap. O valor passado para esse parâmetro deve ser um múltiplo de quatro.
- format
- PixelFormat
O formato de pixel para o novo Bitmap. Deve especificar um valor que começa com Format
.
- scan0
-
IntPtr
nativeint
Ponteiro para uma matriz de bytes que contém os dados de pixel.
Exceções
Um valor PixelFormat foi especificado, cujo nome não começa com Format. Por exemplo, especificar Gdi causará um ArgumentException, mas Format48bppRgb não.
Exemplos
O exemplo de código a seguir mostra como usar o Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr) construtor . Este exemplo foi projetado para ser usado com Windows Forms e requer um PaintEventArgs parâmetro , que é um parâmetro do Paint evento.
private void BitmapConstructorEx(PaintEventArgs e)
{
// Create a bitmap.
Bitmap bmp = new Bitmap("c:\\fakePhoto.jpg");
// Retrieve the bitmap data from the bitmap.
System.Drawing.Imaging.BitmapData bmpData = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height),
ImageLockMode.ReadOnly, bmp.PixelFormat);
//Create a new bitmap.
Bitmap newBitmap = new Bitmap(200, 200, bmpData.Stride, bmp.PixelFormat, bmpData.Scan0);
bmp.UnlockBits(bmpData);
// Draw the new bitmap.
e.Graphics.DrawImage(newBitmap, 10, 10);
}
Private Sub BitmapConstructorEx(ByVal e As PaintEventArgs)
' Create a bitmap.
Dim bmp As New Bitmap("c:\fakePhoto.jpg")
' Retrieve the bitmap data from the bitmap.
Dim bmpData As System.Drawing.Imaging.BitmapData = bmp.LockBits(New Rectangle(0, 0, bmp.Width, bmp.Height), _
ImageLockMode.ReadOnly, bmp.PixelFormat)
'Create a new bitmap.
Dim newBitmap As New Bitmap(200, 200, bmpData.Stride, bmp.PixelFormat, bmpData.Scan0)
bmp.UnlockBits(bmpData)
' Draw the new bitmap.
e.Graphics.DrawImage(newBitmap, 10, 10)
End Sub
Comentários
O chamador é responsável por alocar e liberar o bloco de memória especificado pelo scan0
parâmetro . No entanto, a memória não deve ser liberada até que o relacionado Bitmap seja liberado.