Udostępnij za pośrednictwem


Bitmap Konstruktory

Definicja

Inicjuje nowe wystąpienie klasy Bitmap.

Przeciążenia

Bitmap(Image)

Inicjuje Bitmap nowe wystąpienie klasy z określonego istniejącego obrazu.

Bitmap(Stream)

Inicjuje Bitmap nowe wystąpienie klasy z określonego strumienia danych.

Bitmap(String)

Inicjuje Bitmap nowe wystąpienie klasy z określonego pliku.

Bitmap(Image, Size)

Inicjuje nowe wystąpienie Bitmap klasy z określonego istniejącego obrazu, skalowane do określonego rozmiaru.

Bitmap(Int32, Int32)

Inicjuje Bitmap nowe wystąpienie klasy o określonym rozmiarze.

Bitmap(Stream, Boolean)

Inicjuje Bitmap nowe wystąpienie klasy z określonego strumienia danych.

Bitmap(String, Boolean)

Inicjuje Bitmap nowe wystąpienie klasy z określonego pliku.

Bitmap(Type, String)

Inicjuje Bitmap nowe wystąpienie klasy z określonego zasobu.

Bitmap(Image, Int32, Int32)

Inicjuje nowe wystąpienie Bitmap klasy z określonego istniejącego obrazu, skalowane do określonego rozmiaru.

Bitmap(Int32, Int32, Graphics)

Inicjuje nowe wystąpienie Bitmap klasy o określonym rozmiarze i rozdzielczości określonego Graphics obiektu.

Bitmap(Int32, Int32, PixelFormat)

Inicjuje Bitmap nowe wystąpienie klasy o określonym rozmiarze i formacie.

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

Inicjuje Bitmap nowe wystąpienie klasy z określonym rozmiarem, formatem pikseli i danymi pikseli.

Bitmap(Image)

Źródło:
Bitmap.cs
Źródło:
Bitmap.cs
Źródło:
Bitmap.cs

Inicjuje Bitmap nowe wystąpienie klasy z określonego istniejącego obrazu.

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

Element Image , z którego ma zostać utworzony nowy Bitmapelement .

Dotyczy

Bitmap(Stream)

Źródło:
Bitmap.cs
Źródło:
Bitmap.cs
Źródło:
Bitmap.cs

Inicjuje Bitmap nowe wystąpienie klasy z określonego strumienia danych.

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.

Wyjątki

stream nie zawiera danych obrazu lub jest null.

-lub-

stream zawiera plik obrazu PNG o pojedynczym wymiarze większym niż 65 535 pikseli.

Przykłady

W poniższym przykładzie kodu pokazano, jak załadować mapę bitową ze strumienia.

Ten przykład jest przeznaczony do użycia z Windows Forms. Twórca formularz zawierający PictureBox nazwę PictureBox1. Wklej kod do formularza i wywołaj InitializeStreamBitmap metodę z konstruktora formularza lub Load metody obsługi zdarzeń.

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

Strumień musi być otwarty przez cały okres istnienia obiektu Bitmap.

Ze względu na ograniczenie dekodera System.ArgumentException GDI+ jest zgłaszany, jeśli skonstruujesz mapę bitową z pliku obrazu .png z pojedynczym wymiarem większym niż 65 535 pikseli.

Zobacz też

Dotyczy

Bitmap(String)

Źródło:
Bitmap.cs
Źródło:
Bitmap.cs
Źródło:
Bitmap.cs

Inicjuje Bitmap nowe wystąpienie klasy z określonego pliku.

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.

Wyjątki

Nie można odnaleźć określonego pliku.

Uwagi

Nazwa pliku i ścieżka mogą być względne względem aplikacji lub ścieżki bezwzględnej. Ten konstruktor służy do otwierania obrazów z następującymi formatami plików: BMP, GIF, EXIF, JPG, PNG i TIFF. Aby uzyskać więcej informacji na temat obsługiwanych formatów, zobacz Typy map bitowych. Plik pozostaje zablokowany do momentu Bitmap usunięcia pliku.

Zobacz też

Dotyczy

Bitmap(Image, Size)

Źródło:
Bitmap.cs
Źródło:
Bitmap.cs
Źródło:
Bitmap.cs

Inicjuje nowe wystąpienie Bitmap klasy z określonego istniejącego obrazu, skalowane do określonego rozmiaru.

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

Element Image , z którego ma zostać utworzony nowy Bitmapelement .

newSize
Size

Struktura Size reprezentująca rozmiar nowego Bitmapobiektu .

Wyjątki

Operacja nie powiodła się.

Dotyczy

Bitmap(Int32, Int32)

Źródło:
Bitmap.cs
Źródło:
Bitmap.cs
Źródło:
Bitmap.cs

Inicjuje Bitmap nowe wystąpienie klasy o określonym rozmiarze.

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ść w pikselach nowego Bitmapobiektu .

height
Int32

Wysokość w pikselach nowego Bitmapobiektu .

Wyjątki

Operacja nie powiodła się.

Uwagi

Ten konstruktor tworzy obiekt Bitmap z wartością PixelFormat wyliczenia .Format32bppArgb

Dotyczy

Bitmap(Stream, Boolean)

Źródło:
Bitmap.cs
Źródło:
Bitmap.cs
Źródło:
Bitmap.cs

Inicjuje Bitmap nowe wystąpienie klasy z określonego strumienia danych.

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.

useIcm
Boolean

true aby użyć korekty kolorów dla tego Bitmap; w przeciwnym razie , false.

Wyjątki

stream nie zawiera danych obrazu lub jest null.

-lub-

stream zawiera plik obrazu PNG o pojedynczym wymiarze większym niż 65 535 pikseli.

Uwagi

Strumień musi być otwarty przez cały okres istnienia obiektu Bitmap.

Ze względu na ograniczenie dekodera System.ArgumentException GDI+ jest zgłaszany, jeśli skonstruujesz mapę bitową z pliku obrazu .png z pojedynczym wymiarem większym niż 65 535 pikseli.

Zobacz też

Dotyczy

Bitmap(String, Boolean)

Źródło:
Bitmap.cs
Źródło:
Bitmap.cs
Źródło:
Bitmap.cs

Inicjuje Bitmap nowe wystąpienie klasy z określonego pliku.

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.

useIcm
Boolean

true aby użyć korekty kolorów dla tego Bitmap; w przeciwnym razie , false.

Przykłady

W poniższym przykładzie kodu pokazano, jak utworzyć nową mapę bitową z pliku. W przykładzie użyto GetPixel metod i SetPixel w celu ponownego kolorowania obrazu. Używa również PixelFormat właściwości .

Ten przykład jest przeznaczony do użycia z formularzem systemu Windows zawierającym Labelodpowiednio wartości , PictureBox i Button o nazwie Label1PictureBox1 i Button1. Wklej kod do formularza i skojarz metodę Button1_Click ze zdarzeniem przycisku Click .

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

Ten konstruktor służy do otwierania obrazów z następującymi formatami plików: BMP, GIF, EXIF, JPG, PNG i TIFF. Aby uzyskać więcej informacji na temat obsługiwanych formatów, zobacz Typy map bitowych. Plik pozostaje zablokowany do momentu Bitmap usunięcia pliku.

Zobacz też

Dotyczy

Bitmap(Type, String)

Źródło:
Bitmap.cs
Źródło:
Bitmap.cs
Źródło:
Bitmap.cs

Inicjuje Bitmap nowe wystąpienie klasy z określonego zasobu.

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.

resource
String

Nazwa zasobu.

Przykłady

W poniższym przykładzie kodu pokazano, jak utworzyć mapę bitową z typu i jak używać Save metody . Aby uruchomić ten przykład, wklej kod do formularza systemu Windows. Obsługa zdarzenia formularza Paint i wywoływanie ConstructFromResourceSaveAsGif metody, przekazując e jako 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 wyszukuje dopasowanie w manifeście zestawu. Na przykład można przekazać Button typ i Button.bmp do tego konstruktora, a następnie wyszuka zasób o nazwie System.Windows.Forms.Button.bmp.

Zobacz też

Dotyczy

Bitmap(Image, Int32, Int32)

Źródło:
Bitmap.cs
Źródło:
Bitmap.cs
Źródło:
Bitmap.cs

Inicjuje nowe wystąpienie Bitmap klasy z określonego istniejącego obrazu, skalowane do określonego rozmiaru.

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

Element Image , z którego ma zostać utworzony nowy Bitmapelement .

width
Int32

Szerokość w pikselach nowego Bitmapobiektu .

height
Int32

Wysokość w pikselach nowego Bitmapobiektu .

Wyjątki

Operacja nie powiodła się.

Dotyczy

Bitmap(Int32, Int32, Graphics)

Źródło:
Bitmap.cs
Źródło:
Bitmap.cs
Źródło:
Bitmap.cs

Inicjuje nowe wystąpienie Bitmap klasy o określonym rozmiarze i rozdzielczości określonego Graphics obiektu.

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ść w pikselach nowego Bitmapobiektu .

height
Int32

Wysokość w pikselach nowego Bitmapobiektu .

g
Graphics

Obiekt Graphics , który określa rozdzielczość dla nowego Bitmapobiektu .

Wyjątki

Uwagi

NowaBitmap, którą tworzy ta metoda, przyjmuje odpowiednio rozdzielczość poziomą i pionową z DpiX właściwości i DpiY .g

Dotyczy

Bitmap(Int32, Int32, PixelFormat)

Źródło:
Bitmap.cs
Źródło:
Bitmap.cs
Źródło:
Bitmap.cs

Inicjuje Bitmap nowe wystąpienie klasy o określonym rozmiarze i formacie.

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ść w pikselach nowego Bitmapelementu .

height
Int32

Wysokość w pikselach nowego Bitmapelementu .

format
PixelFormat

Format pikseli dla nowego Bitmapelementu . Musi to określać wartość rozpoczynającą się od Format.

Wyjątki

Określona PixelFormat jest wartość, której nazwa nie rozpoczyna się od formatu. Na przykład określenie Gdi spowoduje ArgumentException, ale Format48bppRgb nie spowoduje.

Dotyczy

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

Źródło:
Bitmap.cs
Źródło:
Bitmap.cs
Źródło:
Bitmap.cs

Inicjuje Bitmap nowe wystąpienie klasy z określonym rozmiarem, formatem pikseli i danymi pikseli.

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ść w pikselach nowego Bitmapelementu .

height
Int32

Wysokość w pikselach nowego Bitmapelementu .

stride
Int32

Liczba całkowita określająca przesunięcie bajtu między początkiem jednego wiersza skanowania a następnym. Zwykle jest to (ale niekoniecznie) liczba bajtów w formacie pikseli (na przykład 2 dla 16 bitów na piksel) mnożona przez szerokość mapy bitowej. Wartość przekazana do tego parametru musi być wielokrotna z czterech.

format
PixelFormat

Format pikseli dla nowego Bitmapelementu . Musi to określać wartość rozpoczynającą się od Format.

scan0
IntPtr

nativeint

Wskaźnik do tablicy bajtów, która zawiera dane pikseli.

Wyjątki

Określona PixelFormat jest wartość, której nazwa nie rozpoczyna się od formatu. Na przykład określenie Gdi spowoduje ArgumentException, ale Format48bppRgb nie spowoduje.

Przykłady

W poniższym przykładzie kodu pokazano, jak używać konstruktora Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr) . Ten przykład jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgs parametru, który jest parametrem Paint zdarzenia.

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 scan0 parametr . Jednak pamięć nie powinna być zwalniana do momentu wydania powiązanego Bitmap .

Dotyczy