Bitmap Konstruktory

Definicja

Inicjuje nowe wystąpienie klasy Bitmap.Initializes a new instance of the Bitmap class.

Przeciążenia

Bitmap(Image)

Inicjuje nowe wystąpienie klasy Bitmap z określonego istniejącego obrazu.Initializes a new instance of the Bitmap class from the specified existing image.

Bitmap(Stream)

Inicjuje nowe wystąpienie klasy Bitmap z określonego strumienia danych.Initializes a new instance of the Bitmap class from the specified data stream.

Bitmap(String)

Inicjuje nowe wystąpienie klasy Bitmap z określonego pliku.Initializes a new instance of the Bitmap class from the specified file.

Bitmap(Image, Size)

Inicjuje nowe wystąpienie klasy Bitmap z określonego istniejącego obrazu, skalowane do określonego rozmiaru.Initializes a new instance of the Bitmap class from the specified existing image, scaled to the specified size.

Bitmap(Int32, Int32)

Inicjuje nowe wystąpienie klasy Bitmap o określonym rozmiarze.Initializes a new instance of the Bitmap class with the specified size.

Bitmap(Stream, Boolean)

Inicjuje nowe wystąpienie klasy Bitmap z określonego strumienia danych.Initializes a new instance of the Bitmap class from the specified data stream.

Bitmap(String, Boolean)

Inicjuje nowe wystąpienie klasy Bitmap z określonego pliku.Initializes a new instance of the Bitmap class from the specified file.

Bitmap(Type, String)

Inicjuje nowe wystąpienie klasy Bitmap z określonego zasobu.Initializes a new instance of the Bitmap class from a specified resource.

Bitmap(Image, Int32, Int32)

Inicjuje nowe wystąpienie klasy Bitmap z określonego istniejącego obrazu, skalowane do określonego rozmiaru.Initializes a new instance of the Bitmap class from the specified existing image, scaled to the specified size.

Bitmap(Int32, Int32, Graphics)

Inicjuje nowe wystąpienie klasy Bitmap o określonym rozmiarze i z rozdzielczością określonego Graphics obiektu.Initializes a new instance of the Bitmap class with the specified size and with the resolution of the specified Graphics object.

Bitmap(Int32, Int32, PixelFormat)

Inicjuje nowe wystąpienie klasy Bitmap o określonym rozmiarze i formacie.Initializes a new instance of the Bitmap class with the specified size and format.

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

Inicjuje nowe wystąpienie klasy Bitmap z określonym rozmiarem, formatem pikseli i danymi pikseli.Initializes a new instance of the Bitmap class with the specified size, pixel format, and pixel data.

Bitmap(Image)

Inicjuje nowe wystąpienie klasy Bitmap z określonego istniejącego obrazu.Initializes a new instance of the Bitmap class from the specified existing image.

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)

Parametry

original
Image

Image, z którego ma zostać utworzony nowy Bitmap.The Image from which to create the new Bitmap.

Bitmap(Stream)

Inicjuje nowe wystąpienie klasy Bitmap z określonego strumienia danych.Initializes a new instance of the Bitmap class from the specified data stream.

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)

Parametry

stream
Stream

Strumień danych używany do ładowania obrazu.The data stream used to load the image.

Wyjątki

stream nie zawiera danych obrazu lub jest null.stream does not contain image data or is null.

lub-or- stream zawiera plik obrazu PNG o pojedynczym wymiarze większym niż 65 535 pikseli.stream contains a PNG image file with a single dimension greater than 65,535 pixels.

Przykłady

Poniższy przykład kodu ilustruje sposób ładowania mapy bitowej ze strumienia.The following code example demonstrates how to load a bitmap from a stream.

Ten przykład jest przeznaczony do użycia z Windows Forms.This example is designed to be used with Windows Forms. Utwórz formularz zawierający PictureBox o nazwie PictureBox1.Create a form that contains a PictureBox named PictureBox1. Wklej kod do formularza i Wywołaj metodę InitializeStreamBitmap z konstruktora formularza lub Load metody obsługi zdarzeń.Paste the code into the form and call the InitializeStreamBitmap method from the form's constructor or Load event-handling method.

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

Uwagi

Należy zachować otwarty strumień przez okres istnienia Bitmap.You must keep the stream open for the lifetime of the Bitmap.

Ze względu na ograniczenie dekodera GDI+GDI+, System.ArgumentException jest zgłaszany w przypadku konstruowania mapy bitowej z pliku obrazu PNG z jednym wymiarem większym niż 65 535 pikseli.Due to a limitation of the GDI+GDI+ decoder, an System.ArgumentException is thrown if you construct a bitmap from a .png image file with a single dimension greater than 65,535 pixels.

Zobacz też

Bitmap(String)

Inicjuje nowe wystąpienie klasy Bitmap z określonego pliku.Initializes a new instance of the Bitmap class from the specified file.

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

Parametry

filename
String

Nazwa i ścieżka pliku mapy bitowej.The bitmap file name and path.

Wyjątki

Nie znaleziono określonego pliku.The specified file is not found.

Uwagi

Nazwa pliku i ścieżka może być względna dla aplikacji lub ścieżki bezwzględnej.The file name and path can be relative to the application or an absolute path. Użyj tego konstruktora, aby otworzyć obrazy o następujących formatach plików: BMP, GIF, EXIF, JPG, PNG i TIFF.Use this constructor to open images with the following file formats: BMP, GIF, EXIF, JPG, PNG and TIFF. Aby uzyskać więcej informacji na temat obsługiwanych formatów, zobacz typy map bitowych.For more information about supported formats, see Types of Bitmaps. Plik pozostaje zablokowany do momentu usunięcia Bitmap.The file remains locked until the Bitmap is disposed.

Zobacz też

Bitmap(Image, Size)

Inicjuje nowe wystąpienie klasy Bitmap z określonego istniejącego obrazu, skalowane do określonego rozmiaru.Initializes a new instance of the Bitmap class from the specified existing image, scaled to the specified size.

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)

Parametry

original
Image

Image, z którego ma zostać utworzony nowy Bitmap.The Image from which to create the new Bitmap.

newSize
Size

Struktura Size, która reprezentuje rozmiar nowych Bitmap.The Size structure that represent the size of the new Bitmap.

Wyjątki

Operacja nie powiodła się.The operation failed.

Bitmap(Int32, Int32)

Inicjuje nowe wystąpienie klasy Bitmap o określonym rozmiarze.Initializes a new instance of the Bitmap class with the specified size.

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)

Parametry

width
Int32

Szerokość nowej Bitmapw pikselach.The width, in pixels, of the new Bitmap.

height
Int32

Wysokość nowego Bitmapw pikselach.The height, in pixels, of the new Bitmap.

Wyjątki

Operacja nie powiodła się.The operation failed.

Uwagi

Ten konstruktor tworzy Bitmap z wartością wyliczenia PixelFormat Format32bppArgb.This constructor creates a Bitmap with a PixelFormat enumeration value of Format32bppArgb.

Bitmap(Stream, Boolean)

Inicjuje nowe wystąpienie klasy Bitmap z określonego strumienia danych.Initializes a new instance of the Bitmap class from the specified data stream.

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)

Parametry

stream
Stream

Strumień danych używany do ładowania obrazu.The data stream used to load the image.

useIcm
Boolean

true użyć korekcji koloru dla tego Bitmap; w przeciwnym razie false.true to use color correction for this Bitmap; otherwise, false.

Wyjątki

stream nie zawiera danych obrazu lub jest null.stream does not contain image data or is null.

lub-or- stream zawiera plik obrazu PNG o pojedynczym wymiarze większym niż 65 535 pikseli.stream contains a PNG image file with a single dimension greater than 65,535 pixels.

Uwagi

Należy zachować otwarty strumień przez okres istnienia Bitmap.You must keep the stream open for the lifetime of the Bitmap.

Ze względu na ograniczenie dekodera GDI+GDI+, System.ArgumentException jest zgłaszany w przypadku konstruowania mapy bitowej z pliku obrazu PNG z jednym wymiarem większym niż 65 535 pikseli.Due to a limitation of the GDI+GDI+ decoder, an System.ArgumentException is thrown if you construct a bitmap from a .png image file with a single dimension greater than 65,535 pixels.

Zobacz też

Bitmap(String, Boolean)

Inicjuje nowe wystąpienie klasy Bitmap z określonego pliku.Initializes a new instance of the Bitmap class from the specified file.

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)

Parametry

filename
String

Nazwa pliku mapy bitowej.The name of the bitmap file.

useIcm
Boolean

true użyć korekcji koloru dla tego Bitmap; w przeciwnym razie false.true to use color correction for this Bitmap; otherwise, false.

Przykłady

Poniższy przykład kodu demonstruje sposób konstruowania nowej mapy bitowej z pliku.The following code example demonstrates how to construct a new bitmap from a file. W przykładzie zastosowano metody GetPixel i SetPixel, aby ponownie kolorować obraz.The example uses the GetPixel and SetPixel methods to recolor the image. Używa również właściwości PixelFormat.It also uses the PixelFormat property.

Ten przykład został zaprojektowany do użycia z formularzem systemu Windows, który zawiera odpowiednio Label, PictureBox i Button o nazwach Label1, PictureBox1 i Button1.This example is designed to be used with a Windows Form that contains a Label, PictureBox and Button named Label1, PictureBox1 and Button1, respectively. Wklej kod do formularza i skojarz metodę Button1_Click z zdarzeniem Click przycisku.Paste the code into the form and associate the Button1_Click method with the button's Click event.

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

Uwagi

Użyj tego konstruktora, aby otworzyć obrazy o następujących formatach plików: BMP, GIF, EXIF, JPG, PNG i TIFF.Use this constructor to open images with the following file formats: BMP, GIF, EXIF, JPG, PNG and TIFF. Aby uzyskać więcej informacji na temat obsługiwanych formatów, zobacz typy map bitowych.For more information about supported formats, see Types of Bitmaps. Plik pozostaje zablokowany do momentu usunięcia Bitmap.The file remains locked until the Bitmap is disposed.

Zobacz też

Bitmap(Type, String)

Inicjuje nowe wystąpienie klasy Bitmap z określonego zasobu.Initializes a new instance of the Bitmap class from a specified resource.

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)

Parametry

type
Type

Klasa używana do wyodrębniania zasobu.The class used to extract the resource.

resource
String

Nazwa zasobu.The name of the resource.

Przykłady

Poniższy przykład kodu demonstruje sposób konstruowania mapy bitowej z typu i sposobu użycia metody Save.The following code example demonstrates how to construct a bitmap from a type, and how to use the Save method. Aby uruchomić ten przykład, wklej kod do formularza systemu Windows.To run this example, paste the code into a Windows Form. Obsługuj zdarzenie Paint formularza i Wywołaj metodę ConstructFromResourceSaveAsGif, przekazując e jako PaintEventArgsHandle the form's Paint event and call the ConstructFromResourceSaveAsGif method, passing e as 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

Uwagi

Ten konstruktor łączy przestrzeń nazw danego typu z nazwą ciągu zasobu i szuka dopasowania w manifeście zestawu.This constructor combines the namespace of the given type with the string name of the resource and looks for a match in the assembly manifest. Na przykład można przekazać typ Button i Button.bmp do tego konstruktora i będzie szukać zasobu o nazwie System.Windows.Forms.Button.bmp.For example you can pass in the Button type and Button.bmp to this constructor and it will look for a resource named System.Windows.Forms.Button.bmp.

Zobacz też

Bitmap(Image, Int32, Int32)

Inicjuje nowe wystąpienie klasy Bitmap z określonego istniejącego obrazu, skalowane do określonego rozmiaru.Initializes a new instance of the Bitmap class from the specified existing image, scaled to the specified size.

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)

Parametry

original
Image

Image, z którego ma zostać utworzony nowy Bitmap.The Image from which to create the new Bitmap.

width
Int32

Szerokość nowej Bitmapw pikselach.The width, in pixels, of the new Bitmap.

height
Int32

Wysokość nowego Bitmapw pikselach.The height, in pixels, of the new Bitmap.

Wyjątki

Operacja nie powiodła się.The operation failed.

Bitmap(Int32, Int32, Graphics)

Inicjuje nowe wystąpienie klasy Bitmap o określonym rozmiarze i z rozdzielczością określonego Graphics obiektu.Initializes a new instance of the Bitmap class with the specified size and with the resolution of the specified Graphics object.

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)

Parametry

width
Int32

Szerokość nowej Bitmapw pikselach.The width, in pixels, of the new Bitmap.

height
Int32

Wysokość nowego Bitmapw pikselach.The height, in pixels, of the new Bitmap.

g
Graphics

Obiekt Graphics, który określa rozdzielczość nowej Bitmap.The Graphics object that specifies the resolution for the new Bitmap.

Wyjątki

Parametr g ma wartość null.g is null.

Uwagi

Nowe Bitmap, które ta metoda tworzy, przyjmuje odpowiednio rozdzielczość w poziomie i w pionie na podstawie właściwości DpiX i DpiY g.The new Bitmap that this method creates takes its horizontal and vertical resolution from the DpiX and DpiY properties of g, respectively.

Bitmap(Int32, Int32, PixelFormat)

Inicjuje nowe wystąpienie klasy Bitmap o określonym rozmiarze i formacie.Initializes a new instance of the Bitmap class with the specified size and format.

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)

Parametry

width
Int32

Szerokość nowej Bitmapw pikselach.The width, in pixels, of the new Bitmap.

height
Int32

Wysokość nowego Bitmapw pikselach.The height, in pixels, of the new Bitmap.

format
PixelFormat

Format pikseli dla nowego Bitmap.The pixel format for the new Bitmap. Należy określić wartość rozpoczynającą się od formatu.This must specify a value that begins with Format.

Wyjątki

Określono wartość PixelFormat, której nazwa nie zaczyna się od formatu.A PixelFormat value is specified whose name does not start with Format. Na przykład określenie Gdi spowoduje wystąpienie ArgumentException, ale Format48bppRgb nie będzie.For example, specifying Gdi will cause an ArgumentException, but Format48bppRgb will not.

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

Inicjuje nowe wystąpienie klasy Bitmap z określonym rozmiarem, formatem pikseli i danymi pikseli.Initializes a new instance of the Bitmap class with the specified size, pixel format, and pixel data.

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)

Parametry

width
Int32

Szerokość nowej Bitmapw pikselach.The width, in pixels, of the new Bitmap.

height
Int32

Wysokość nowego Bitmapw pikselach.The height, in pixels, of the new Bitmap.

stride
Int32

Liczba całkowita, która określa przesunięcie bajtu między początkiem jednego wiersza skanowania i następnym.Integer that specifies the byte offset between the beginning of one scan line and the next. Zwykle jest to (ale niekoniecznie) liczba bajtów w formacie piksel (na przykład 2 dla 16 bitów na piksel) pomnożona przez szerokość mapy bitowej.This is usually (but not necessarily) the number of bytes in the pixel format (for example, 2 for 16 bits per pixel) multiplied by the width of the bitmap. Wartość przenoszona do tego parametru musi być wielokrotnością czterech.The value passed to this parameter must be a multiple of four.

format
PixelFormat

Format pikseli dla nowego Bitmap.The pixel format for the new Bitmap. Należy określić wartość rozpoczynającą się od formatu.This must specify a value that begins with Format.

scan0
IntPtr

Wskaźnik na tablicę bajtów, która zawiera dane pikseli.Pointer to an array of bytes that contains the pixel data.

Wyjątki

Określono wartość PixelFormat, której nazwa nie zaczyna się od formatu.A PixelFormat value is specified whose name does not start with Format. Na przykład określenie Gdi spowoduje wystąpienie ArgumentException, ale Format48bppRgb nie będzie.For example, specifying Gdi will cause an ArgumentException, but Format48bppRgb will not.

Przykłady

Poniższy przykład kodu pokazuje, jak używać konstruktora Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr).The following code example shows how to use the Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr) constructor. Ten przykład jest przeznaczony do użycia z Windows Forms i wymaga parametru PaintEventArgs, który jest parametrem zdarzenia Paint.This example is designed to be used with Windows Forms and requires a PaintEventArgs parameter, which is a parameter of the Paint event.

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

Uwagi

Obiekt wywołujący jest odpowiedzialny za przydzielanie i zwalnianie bloku pamięci określonej przez parametr scan0.The caller is responsible for allocating and freeing the block of memory specified by the scan0 parameter. Jednak pamięć nie powinna zostać wydana do momentu wydania powiązanej Bitmap.However, the memory should not be released until the related Bitmap is released.

Dotyczy