Bitmap Construtores
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.
Inicializa uma nova instância da Bitmap classe.
Sobrecargas
| Name | Description |
|---|---|
| Bitmap(Image) |
Inicializa uma nova instância da Bitmap classe a partir da imagem existente especificada. |
| Bitmap(Stream) |
Inicializa uma nova instância da Bitmap classe a partir do fluxo de dados especificado. |
| Bitmap(String) |
Inicializa uma nova instância da Bitmap classe a partir do ficheiro especificado. |
| Bitmap(Image, Size) |
Inicializa uma nova instância da Bitmap classe a partir da imagem existente especificada, escalada para o tamanho especificado. |
| 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(String, Boolean) |
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. |
| Bitmap(Image, Int32, Int32) |
Inicializa uma nova instância da Bitmap classe a partir da imagem existente especificada, escalada para o tamanho especificado. |
| 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, PixelFormat) |
Inicializa uma nova instância da Bitmap classe com o tamanho e formato especificados. |
| 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(Image)
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
Inicializa uma nova instância da Bitmap classe a partir 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
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
Inicializa uma nova instância da Bitmap classe a partir 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 ficheiro de imagem PNG com uma única dimensão superior a 65.535 píxeis.
Exemplos
O exemplo de código seguinte demonstra como carregar um bitmap a partir de um fluxo.
Este exemplo foi concebido para ser usado com Windows Forms. Crie uma forma que contenha um PictureBox .PictureBox1 Cole o código no formulário e chame o InitializeStreamBitmap método a partir do construtor ou Load método de gestão de eventos do formulário.
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
Observações
Deve manter o jato aberto durante toda a vida útil do Bitmap.
Devido a uma limitação do decodificador GDI+, um System.ArgumentException é lançado se construir um bitmap a partir de um ficheiro de imagem .png com uma única dimensão superior a 65.535 píxeis.
Ver também
Aplica-se a
Bitmap(String)
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
Inicializa uma nova instância da Bitmap classe a partir do ficheiro 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 nome e o caminho do ficheiro bitmap.
Exceções
O ficheiro especificado não é encontrado.
Observações
O nome e o caminho do ficheiro podem ser relativos à aplicação ou um caminho absoluto. Use este construtor para abrir imagens com os seguintes formatos de ficheiro: BMP, GIF, EXIF, JPG, PNG e TIFF. Para mais informações sobre formatos suportados, consulte Tipos de Bitmaps. O ficheiro permanece trancado até ser Bitmap descartado.
Ver também
Aplica-se a
Bitmap(Image, Size)
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
Inicializa uma nova instância da Bitmap classe a partir da imagem existente especificada, escalada 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
A operação falhou.
Aplica-se a
Bitmap(Int32, Int32)
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
Inicializa uma nova instância da Bitmap classe 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
A operação falhou.
Observações
Este 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
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
Inicializa uma nova instância da Bitmap classe a partir 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 ficheiro de imagem PNG com uma única dimensão superior a 65.535 píxeis.
Observações
Deve manter o jato aberto durante toda a vida útil do Bitmap.
Devido a uma limitação do decodificador GDI+, um System.ArgumentException é lançado se construir um bitmap a partir de um ficheiro de imagem .png com uma única dimensão superior a 65.535 píxeis.
Ver também
Aplica-se a
Bitmap(String, Boolean)
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
Inicializa uma nova instância da Bitmap classe a partir do ficheiro 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 ficheiro bitmap.
Exemplos
O exemplo de código seguinte demonstra como construir um novo bitmap a partir de um ficheiro. O exemplo utiliza os GetPixel métodos e SetPixel para recolorir a imagem. Também utiliza a PixelFormat propriedade.
Este exemplo foi concebido para ser usado com um formulário Windows 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
Use este construtor para abrir imagens com os seguintes formatos de ficheiro: BMP, GIF, EXIF, JPG, PNG e TIFF. Para mais informações sobre formatos suportados, consulte Tipos de Bitmaps. O ficheiro permanece trancado até ser Bitmap descartado.
Ver também
Aplica-se a
Bitmap(Type, String)
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
Inicializa uma nova instância da Bitmap classe a partir 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 seguinte demonstra como construir um bitmap a partir de um tipo e como usar o Save método. Para executar este exemplo, cole o código num formulário do Windows. Tratar 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
Observações
Este construtor combina o namespace do tipo dado com o nome da string do recurso e procura uma correspondência no manifesto assembly. Por exemplo, podes passar o tipo Button e Button.bmp a este construtor e ele procurará um recurso chamado System.Windows.Forms.Button.bmp.
Ver também
Aplica-se a
Bitmap(Image, Int32, Int32)
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
Inicializa uma nova instância da Bitmap classe a partir da imagem existente especificada, escalada 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
A operação falhou.
Aplica-se a
Bitmap(Int32, Int32, Graphics)
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- 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.
Observações
O novo Bitmap que este método cria retira a sua resolução horizontal e vertical das DpiX propriedades e DpiY de g, respetivamente.
Aplica-se a
Bitmap(Int32, Int32, PixelFormat)
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
Inicializa uma nova instância da Bitmap classe com o tamanho e 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 píxeis para o novo Bitmaparquivo . Isto deve especificar um valor que comece por Format.
Exceções
É especificado um PixelFormat valor cujo nome não começa por Formatar. Por exemplo, especificar Gdi causa um ArgumentException, mas Format48bppRgb não o fará.
Aplica-se a
Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr)
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
- Origem:
- Bitmap.cs
Inicializa uma nova instância da Bitmap classe com o tamanho, formato de píxel e dados de píxeis 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
Integer que especifica o deslocamento de bytes entre o início de uma linha de varrimento e a seguinte. Isto é geralmente (mas não necessariamente) o número de bytes no formato de píxel (por exemplo, 2 para 16 bits por pixel) multiplicado pela largura do bitmap. O valor passado a este parâmetro deve ser múltiplo de quatro.
- format
- PixelFormat
O formato de píxeis para o novo Bitmaparquivo . Isto deve especificar um valor que comece por Format.
- scan0
-
IntPtr
nativeint
Apontador para um array de bytes que contém os dados do píxel.
Exceções
É especificado um PixelFormat valor cujo nome não começa por Formatar. Por exemplo, especificar Gdi causa um ArgumentException, mas Format48bppRgb não o fará.
Exemplos
O exemplo de código seguinte mostra como usar o Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr) construtor. Este exemplo foi concebido para ser usado com Windows Forms e requer um parâmetro PaintEventArgs, que é um parâmetro do evento Paint.
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
Observações
O chamador é responsável por alocar e libertar o bloco de memória especificado pelo scan0 parâmetro. No entanto, a memória não deve ser libertada até que a relacionada Bitmap seja libertada.