Bagikan melalui


Bitmap Konstruktor

Definisi

Menginisialisasi instans baru kelas Bitmap.

Overload

Bitmap(Image)

Menginisialisasi instans Bitmap baru kelas dari gambar yang ada yang ditentukan.

Bitmap(Stream)

Menginisialisasi instans Bitmap baru kelas dari aliran data yang ditentukan.

Bitmap(String)

Menginisialisasi instans Bitmap baru kelas dari file yang ditentukan.

Bitmap(Image, Size)

Menginisialisasi instans Bitmap baru kelas dari gambar yang ada yang ditentukan, diskalakan ke ukuran yang ditentukan.

Bitmap(Int32, Int32)

Menginisialisasi instans Bitmap baru kelas dengan ukuran yang ditentukan.

Bitmap(Stream, Boolean)

Menginisialisasi instans Bitmap baru kelas dari aliran data yang ditentukan.

Bitmap(String, Boolean)

Menginisialisasi instans Bitmap baru kelas dari file yang ditentukan.

Bitmap(Type, String)

Menginisialisasi instans Bitmap baru kelas dari sumber daya tertentu.

Bitmap(Image, Int32, Int32)

Menginisialisasi instans Bitmap baru kelas dari gambar yang ada yang ditentukan, diskalakan ke ukuran yang ditentukan.

Bitmap(Int32, Int32, Graphics)

Menginisialisasi instans Bitmap baru kelas dengan ukuran yang ditentukan dan dengan resolusi objek yang ditentukan Graphics .

Bitmap(Int32, Int32, PixelFormat)

Menginisialisasi instans Bitmap baru kelas dengan ukuran dan format yang ditentukan.

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

Menginisialisasi instans Bitmap baru kelas dengan ukuran, format piksel, dan data piksel yang ditentukan.

Bitmap(Image)

Sumber:
Bitmap.cs
Sumber:
Bitmap.cs
Sumber:
Bitmap.cs

Menginisialisasi instans Bitmap baru kelas dari gambar yang ada yang ditentukan.

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)

Parameter

original
Image

dari Image mana untuk membuat yang baru Bitmap.

Berlaku untuk

Bitmap(Stream)

Sumber:
Bitmap.cs
Sumber:
Bitmap.cs
Sumber:
Bitmap.cs

Menginisialisasi instans Bitmap baru kelas dari aliran data yang ditentukan.

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)

Parameter

stream
Stream

Aliran data yang digunakan untuk memuat gambar.

Pengecualian

streamtidak berisi data gambar atau .null

-atau-

stream berisi file gambar PNG dengan satu dimensi lebih besar dari 65.535 piksel.

Contoh

Contoh kode berikut menunjukkan cara memuat bitmap dari aliran.

Contoh ini dirancang untuk digunakan dengan Formulir Windows. Create formulir yang berisi bernama PictureBoxPictureBox1. Tempelkan kode ke dalam formulir dan panggil InitializeStreamBitmap metode dari konstruktor formulir atau Load metode penanganan peristiwa.

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

Keterangan

Anda harus menjaga aliran tetap terbuka selama masa Bitmappakai .

Karena keterbatasan dekoder GDI+, System.ArgumentException dilemparkan jika Anda membuat bitmap dari file gambar .png dengan satu dimensi lebih besar dari 65.535 piksel.

Lihat juga

Berlaku untuk

Bitmap(String)

Sumber:
Bitmap.cs
Sumber:
Bitmap.cs
Sumber:
Bitmap.cs

Menginisialisasi instans Bitmap baru kelas dari file yang ditentukan.

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

Parameter

filename
String

Nama dan jalur file bitmap.

Pengecualian

File yang ditentukan tidak ditemukan.

Keterangan

Nama dan jalur file dapat relatif terhadap aplikasi atau jalur absolut. Gunakan konstruktor ini untuk membuka gambar dengan format file berikut: BMP, GIF, EXIF, JPG, PNG, dan TIFF. Untuk informasi selengkapnya tentang format yang didukung, lihat Jenis Bitmap. File tetap terkunci sampai Bitmap dibuang.

Lihat juga

Berlaku untuk

Bitmap(Image, Size)

Sumber:
Bitmap.cs
Sumber:
Bitmap.cs
Sumber:
Bitmap.cs

Menginisialisasi instans Bitmap baru kelas dari gambar yang ada yang ditentukan, diskalakan ke ukuran yang ditentukan.

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)

Parameter

original
Image

dari Image mana untuk membuat yang baru Bitmap.

newSize
Size

Struktur Size yang mewakili ukuran baru Bitmap.

Pengecualian

Operasi gagal.

Berlaku untuk

Bitmap(Int32, Int32)

Sumber:
Bitmap.cs
Sumber:
Bitmap.cs
Sumber:
Bitmap.cs

Menginisialisasi instans Bitmap baru kelas dengan ukuran yang ditentukan.

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)

Parameter

width
Int32

Lebar, dalam piksel, dari yang baru Bitmap.

height
Int32

Tinggi, dalam piksel, dari yang baru Bitmap.

Pengecualian

Operasi gagal.

Keterangan

Konstruktor ini membuat Bitmap dengan PixelFormat nilai Format32bppArgbenumerasi .

Berlaku untuk

Bitmap(Stream, Boolean)

Sumber:
Bitmap.cs
Sumber:
Bitmap.cs
Sumber:
Bitmap.cs

Menginisialisasi instans Bitmap baru kelas dari aliran data yang ditentukan.

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)

Parameter

stream
Stream

Aliran data yang digunakan untuk memuat gambar.

useIcm
Boolean

true untuk menggunakan koreksi warna untuk ini Bitmap; jika tidak, false.

Pengecualian

streamtidak berisi data gambar atau .null

-atau-

stream berisi file gambar PNG dengan satu dimensi lebih besar dari 65.535 piksel.

Keterangan

Anda harus menjaga aliran tetap terbuka selama masa Bitmappakai .

Karena keterbatasan dekoder GDI+, System.ArgumentException dilemparkan jika Anda membuat bitmap dari file gambar .png dengan satu dimensi lebih besar dari 65.535 piksel.

Lihat juga

Berlaku untuk

Bitmap(String, Boolean)

Sumber:
Bitmap.cs
Sumber:
Bitmap.cs
Sumber:
Bitmap.cs

Menginisialisasi instans Bitmap baru kelas dari file yang ditentukan.

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)

Parameter

filename
String

Nama file bitmap.

useIcm
Boolean

true untuk menggunakan koreksi warna untuk ini Bitmap; jika tidak, false.

Contoh

Contoh kode berikut menunjukkan cara membuat bitmap baru dari file. Contohnya menggunakan GetPixel metode dan SetPixel untuk mewarnai ulang gambar. Ini juga menggunakan PixelFormat properti .

Contoh ini dirancang untuk digunakan dengan Formulir Windows yang masing-masing berisi Label, PictureBox dan Button bernama Label1, PictureBox1 dan Button1. Tempelkan kode ke dalam formulir dan kaitkan Button1_Click metode dengan peristiwa tombol 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

Keterangan

Gunakan konstruktor ini untuk membuka gambar dengan format file berikut: BMP, GIF, EXIF, JPG, PNG, dan TIFF. Untuk informasi selengkapnya tentang format yang didukung, lihat Jenis Bitmap. File tetap terkunci sampai Bitmap dibuang.

Lihat juga

Berlaku untuk

Bitmap(Type, String)

Sumber:
Bitmap.cs
Sumber:
Bitmap.cs
Sumber:
Bitmap.cs

Menginisialisasi instans Bitmap baru kelas dari sumber daya tertentu.

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)

Parameter

type
Type

Kelas yang digunakan untuk mengekstrak sumber daya.

resource
String

Nama sumber daya.

Contoh

Contoh kode berikut menunjukkan cara membuat bitmap dari jenis , dan cara menggunakan Save metode . Untuk menjalankan contoh ini, tempelkan kode ke dalam Formulir Windows. Menangani peristiwa formulir Paint dan memanggil ConstructFromResourceSaveAsGif metode , meneruskan e sebagai 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

Keterangan

Konstruktor ini menggabungkan namespace dari jenis yang diberikan dengan nama string sumber daya dan mencari kecocokan dalam manifes perakitan. Misalnya Anda dapat meneruskan Button jenis dan Button.bmp ke konstruktor ini dan akan mencari sumber daya bernama System.Windows.Forms.Button.bmp.

Lihat juga

Berlaku untuk

Bitmap(Image, Int32, Int32)

Sumber:
Bitmap.cs
Sumber:
Bitmap.cs
Sumber:
Bitmap.cs

Menginisialisasi instans Bitmap baru kelas dari gambar yang ada yang ditentukan, diskalakan ke ukuran yang ditentukan.

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)

Parameter

original
Image

dari Image mana untuk membuat yang baru Bitmap.

width
Int32

Lebar, dalam piksel, dari yang baru Bitmap.

height
Int32

Tinggi, dalam piksel, dari yang baru Bitmap.

Pengecualian

Operasi gagal.

Berlaku untuk

Bitmap(Int32, Int32, Graphics)

Sumber:
Bitmap.cs
Sumber:
Bitmap.cs
Sumber:
Bitmap.cs

Menginisialisasi instans Bitmap baru kelas dengan ukuran yang ditentukan dan dengan resolusi objek yang ditentukan 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)

Parameter

width
Int32

Lebar, dalam piksel, dari yang baru Bitmap.

height
Int32

Tinggi, dalam piksel, dari yang baru Bitmap.

g
Graphics

Objek Graphics yang menentukan resolusi untuk yang baru Bitmap.

Pengecualian

gadalah null.

Keterangan

Yang baru Bitmap yang dibuat metode ini mengambil resolusi horizontal dan vertikal dari DpiX properti dan DpiY , gmasing-masing.

Berlaku untuk

Bitmap(Int32, Int32, PixelFormat)

Sumber:
Bitmap.cs
Sumber:
Bitmap.cs
Sumber:
Bitmap.cs

Menginisialisasi instans Bitmap baru kelas dengan ukuran dan format yang ditentukan.

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)

Parameter

width
Int32

Lebar, dalam piksel, dari yang baru Bitmap.

height
Int32

Tinggi, dalam piksel, dari yang baru Bitmap.

format
PixelFormat

Format piksel untuk yang baru Bitmap. Ini harus menentukan nilai yang dimulai dengan Format.

Pengecualian

Nilai PixelFormat ditentukan yang namanya tidak dimulai dengan Format. Misalnya, menentukan Gdi akan menyebabkan ArgumentException, tetapi Format48bppRgb tidak akan.

Berlaku untuk

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

Sumber:
Bitmap.cs
Sumber:
Bitmap.cs
Sumber:
Bitmap.cs

Menginisialisasi instans Bitmap baru kelas dengan ukuran, format piksel, dan data piksel yang ditentukan.

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)

Parameter

width
Int32

Lebar, dalam piksel, dari yang baru Bitmap.

height
Int32

Tinggi, dalam piksel, dari yang baru Bitmap.

stride
Int32

Bilangan bulat yang menentukan offset byte antara awal satu baris pemindaian dan baris berikutnya. Ini biasanya (tetapi belum tentu) jumlah byte dalam format piksel (misalnya, 2 untuk 16 bit per piksel) dikalikan dengan lebar bitmap. Nilai yang diteruskan ke parameter ini harus kelipatan empat.

format
PixelFormat

Format piksel untuk yang baru Bitmap. Ini harus menentukan nilai yang dimulai dengan Format.

scan0
IntPtr

nativeint

Penunjuk ke array byte yang berisi data piksel.

Pengecualian

Nilai PixelFormat ditentukan yang namanya tidak dimulai dengan Format. Misalnya, menentukan Gdi akan menyebabkan ArgumentException, tetapi Format48bppRgb tidak akan.

Contoh

Contoh kode berikut menunjukkan cara menggunakan Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr) konstruktor. Contoh ini dirancang untuk digunakan dengan Formulir Windows dan memerlukan PaintEventArgs parameter , yang merupakan parameter Paint peristiwa.

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

Keterangan

Pemanggil bertanggung jawab untuk mengalokasikan dan membebaskan blok memori yang ditentukan oleh scan0 parameter . Namun, memori tidak boleh dirilis sampai terkait Bitmap dirilis.

Berlaku untuk