Condividi tramite


Bitmap Costruttori

Definizione

Inizializza una nuova istanza della classe Bitmap.

Overload

Nome Descrizione
Bitmap(Image)

Inizializza una nuova istanza della Bitmap classe dall'immagine esistente specificata.

Bitmap(Stream)

Inizializza una nuova istanza della Bitmap classe dal flusso di dati specificato.

Bitmap(String)

Inizializza una nuova istanza della Bitmap classe dal file specificato.

Bitmap(Image, Size)

Inizializza una nuova istanza della Bitmap classe dall'immagine esistente specificata, ridimensionata in base alle dimensioni specificate.

Bitmap(Int32, Int32)

Inizializza una nuova istanza della Bitmap classe con le dimensioni specificate.

Bitmap(Stream, Boolean)

Inizializza una nuova istanza della Bitmap classe dal flusso di dati specificato.

Bitmap(String, Boolean)

Inizializza una nuova istanza della Bitmap classe dal file specificato.

Bitmap(Type, String)

Inizializza una nuova istanza della Bitmap classe da una risorsa specificata.

Bitmap(Image, Int32, Int32)

Inizializza una nuova istanza della Bitmap classe dall'immagine esistente specificata, ridimensionata in base alle dimensioni specificate.

Bitmap(Int32, Int32, Graphics)

Inizializza una nuova istanza della Bitmap classe con le dimensioni specificate e con la risoluzione dell'oggetto specificato Graphics .

Bitmap(Int32, Int32, PixelFormat)

Inizializza una nuova istanza della Bitmap classe con le dimensioni e il formato specificati.

Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr)

Inizializza una nuova istanza della Bitmap classe con le dimensioni, il formato pixel e i dati pixel specificati.

Bitmap(Image)

Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs

Inizializza una nuova istanza della Bitmap classe dall'immagine esistente specificata.

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)

Parametri

original
Image

Oggetto Image da cui creare il nuovo Bitmapoggetto .

Si applica a

Bitmap(Stream)

Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs

Inizializza una nuova istanza della Bitmap classe dal flusso di dati specificato.

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)

Parametri

stream
Stream

Flusso di dati usato per caricare l'immagine.

Eccezioni

stream non contiene dati di immagine o è null.

oppure

stream contiene un file di immagine PNG con una dimensione singola maggiore di 65.535 pixel.

Esempio

Nell'esempio di codice seguente viene illustrato come caricare una bitmap da un flusso.

Questo esempio è progettato per essere usato con Windows Form. Creare un modulo contenente un PictureBox oggetto denominato PictureBox1. Incollare il codice nel form e chiamare il InitializeStreamBitmap metodo dal costruttore o Load dal metodo di gestione degli eventi del modulo.

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

Commenti

È necessario mantenere aperto il flusso per la durata di Bitmap.

A causa di una limitazione del decodificatore GDI+, viene generata un'eccezione System.ArgumentException se si crea una bitmap da un file di immagine .png con una singola dimensione maggiore di 65.535 pixel.

Vedi anche

Si applica a

Bitmap(String)

Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs

Inizializza una nuova istanza della Bitmap classe dal file specificato.

public:
 Bitmap(System::String ^ filename);
public Bitmap(string filename);
new System.Drawing.Bitmap : string -> System.Drawing.Bitmap
Public Sub New (filename As String)

Parametri

filename
String

Nome e percorso del file bitmap.

Eccezioni

Il file specificato non viene trovato.

Commenti

Il nome e il percorso del file possono essere relativi all'applicazione o a un percorso assoluto. Usare questo costruttore per aprire le immagini con i formati di file seguenti: BMP, GIF, EXIF, JPG, PNG e TIFF. Per altre informazioni sui formati supportati, vedere Tipi di bitmap. Il file rimane bloccato fino a quando non viene eliminato .Bitmap

Vedi anche

Si applica a

Bitmap(Image, Size)

Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs

Inizializza una nuova istanza della Bitmap classe dall'immagine esistente specificata, ridimensionata in base alle dimensioni specificate.

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)

Parametri

original
Image

Oggetto Image da cui creare il nuovo Bitmapoggetto .

newSize
Size

Struttura Size che rappresenta le dimensioni del nuovo Bitmapoggetto .

Eccezioni

Operazione non riuscita.

Si applica a

Bitmap(Int32, Int32)

Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs

Inizializza una nuova istanza della Bitmap classe con le dimensioni specificate.

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)

Parametri

width
Int32

Larghezza, in pixel, del nuovo Bitmapoggetto .

height
Int32

Altezza, in pixel, del nuovo Bitmapoggetto .

Eccezioni

Operazione non riuscita.

Commenti

Questo costruttore crea un oggetto Bitmap con un PixelFormat valore di enumerazione pari a Format32bppArgb.

Si applica a

Bitmap(Stream, Boolean)

Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs

Inizializza una nuova istanza della Bitmap classe dal flusso di dati specificato.

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)

Parametri

stream
Stream

Flusso di dati usato per caricare l'immagine.

useIcm
Boolean

true per utilizzare la correzione del colore per l'oggetto Bitmap; in caso contrario, false.

Eccezioni

stream non contiene dati di immagine o è null.

oppure

stream contiene un file di immagine PNG con una dimensione singola maggiore di 65.535 pixel.

Commenti

È necessario mantenere aperto il flusso per la durata di Bitmap.

A causa di una limitazione del decodificatore GDI+, viene generata un'eccezione System.ArgumentException se si crea una bitmap da un file di immagine .png con una singola dimensione maggiore di 65.535 pixel.

Vedi anche

Si applica a

Bitmap(String, Boolean)

Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs

Inizializza una nuova istanza della Bitmap classe dal file specificato.

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)

Parametri

filename
String

Nome del file bitmap.

useIcm
Boolean

true per utilizzare la correzione del colore per l'oggetto Bitmap; in caso contrario, false.

Esempio

Nell'esempio di codice seguente viene illustrato come costruire una nuova bitmap da un file. Nell'esempio vengono usati i GetPixel metodi e SetPixel per ricolorare l'immagine. Usa anche la PixelFormat proprietà .

Questo esempio è progettato per essere usato con un Windows Form che contiene rispettivamente un Labeloggetto , PictureBox e denominato PictureBox1ButtonLabel1e Button1. Incollare il codice nel form e associare il Button1_Click metodo all'evento del Click pulsante.

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

Commenti

Usare questo costruttore per aprire le immagini con i formati di file seguenti: BMP, GIF, EXIF, JPG, PNG e TIFF. Per altre informazioni sui formati supportati, vedere Tipi di bitmap. Il file rimane bloccato fino a quando non viene eliminato .Bitmap

Vedi anche

Si applica a

Bitmap(Type, String)

Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs

Inizializza una nuova istanza della Bitmap classe da una risorsa specificata.

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)

Parametri

type
Type

Classe utilizzata per estrarre la risorsa.

resource
String

Nome della risorsa.

Esempio

Nell'esempio di codice seguente viene illustrato come costruire una bitmap da un tipo e come usare il Save metodo . Per eseguire questo esempio, incollare il codice in un Windows Form. Gestire l'evento del Paint modulo e chiamare il ConstructFromResourceSaveAsGif metodo , passando e come 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

Commenti

Questo costruttore combina lo spazio dei nomi del tipo specificato con il nome stringa della risorsa e cerca una corrispondenza nel manifesto dell'assembly. Ad esempio, è possibile passare il Button tipo e Button.bmp a questo costruttore e cercherà una risorsa denominata System.Windows.Forms.Button.bmp.

Vedi anche

Si applica a

Bitmap(Image, Int32, Int32)

Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs

Inizializza una nuova istanza della Bitmap classe dall'immagine esistente specificata, ridimensionata in base alle dimensioni specificate.

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)

Parametri

original
Image

Oggetto Image da cui creare il nuovo Bitmapoggetto .

width
Int32

Larghezza, in pixel, del nuovo Bitmapoggetto .

height
Int32

Altezza, in pixel, del nuovo Bitmapoggetto .

Eccezioni

Operazione non riuscita.

Si applica a

Bitmap(Int32, Int32, Graphics)

Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs

Inizializza una nuova istanza della Bitmap classe con le dimensioni specificate e con la risoluzione dell'oggetto specificato 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)

Parametri

width
Int32

Larghezza, in pixel, del nuovo Bitmapoggetto .

height
Int32

Altezza, in pixel, del nuovo Bitmapoggetto .

g
Graphics

Oggetto Graphics che specifica la risoluzione per il nuovo Bitmapoggetto .

Eccezioni

Commenti

Il nuovo creato Bitmap da questo metodo accetta rispettivamente la DpiX risoluzione orizzontale e verticale dalle proprietà e DpiY di g.

Si applica a

Bitmap(Int32, Int32, PixelFormat)

Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs

Inizializza una nuova istanza della Bitmap classe con le dimensioni e il formato specificati.

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)

Parametri

width
Int32

Larghezza, in pixel, del nuovo Bitmapoggetto .

height
Int32

Altezza, in pixel, del nuovo Bitmapoggetto .

format
PixelFormat

Formato pixel per il nuovo Bitmapoggetto . Deve specificare un valore che inizia con Format.

Eccezioni

Viene specificato un PixelFormat valore il cui nome non inizia con Format. Ad esempio, la specifica Gdi di causerà un oggetto ArgumentException, ma Format48bppRgb non lo sarà.

Si applica a

Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr)

Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs
Origine:
Bitmap.cs

Inizializza una nuova istanza della Bitmap classe con le dimensioni, il formato pixel e i dati pixel specificati.

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)

Parametri

width
Int32

Larghezza, in pixel, del nuovo Bitmapoggetto .

height
Int32

Altezza, in pixel, del nuovo Bitmapoggetto .

stride
Int32

Integer che specifica l'offset di byte tra l'inizio di una riga di analisi e quella successiva. Questo è in genere (ma non necessariamente) il numero di byte nel formato pixel (ad esempio, 2 per 16 bit per pixel) moltiplicato per la larghezza della bitmap. Il valore passato a questo parametro deve essere un multiplo di quattro.

format
PixelFormat

Formato pixel per il nuovo Bitmapoggetto . Deve specificare un valore che inizia con Format.

scan0
IntPtr

nativeint

Puntatore a una matrice di byte che contiene i dati pixel.

Eccezioni

Viene specificato un PixelFormat valore il cui nome non inizia con Format. Ad esempio, la specifica Gdi di causerà un oggetto ArgumentException, ma Format48bppRgb non lo sarà.

Esempio

Nell'esempio di codice seguente viene illustrato come usare il Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr) costruttore . Questo esempio è progettato per essere usato con Windows Form e richiede un PaintEventArgs parametro , che è un parametro dell'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

Commenti

Il chiamante è responsabile dell'allocazione e della liberazione del blocco di memoria specificato dal scan0 parametro . Tuttavia, la memoria non deve essere rilasciata fino al rilascio dell'elemento correlato Bitmap .

Si applica a