Bitmap Construtores

Definição

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

original
Image

A Image partir da qual criar o novo Bitmap.

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

original
Image

A Image partir da qual criar o novo Bitmap.

newSize
Size

A Size estrutura que representa o tamanho do novo Bitmap.

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

width
Int32

A largura, em píxeis, do novo Bitmap.

height
Int32

A altura, em pixels, do novo Bitmap.

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.

useIcm
Boolean

true para usar correção de cor para isto Bitmap; caso contrário, false.

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.

useIcm
Boolean

true para usar correção de cor para isto Bitmap; caso contrário, false.

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

original
Image

A Image partir da qual criar o novo Bitmap.

width
Int32

A largura, em píxeis, do novo Bitmap.

height
Int32

A altura, em pixels, do novo Bitmap.

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

Inicializa uma nova instância da Bitmap classe com o tamanho especificado e com a resolução do objeto especificado Graphics .

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

width
Int32

A largura, em píxeis, do novo Bitmap.

height
Int32

A altura, em pixels, do novo Bitmap.

g
Graphics

O Graphics objeto que especifica a resolução para o novo Bitmap.

Exceções

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

width
Int32

A largura, em píxeis, do novo Bitmap.

height
Int32

A altura, em pixels, do novo Bitmap.

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

width
Int32

A largura, em píxeis, do novo Bitmap.

height
Int32

A altura, em pixels, do novo Bitmap.

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.

Aplica-se a