Bitmap Konstruktor
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
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
stream
tidak 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
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
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.
Pengecualian
stream
tidak 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.
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
Pengecualian
Operasi gagal.
Berlaku untuk
Bitmap(Int32, Int32, Graphics)
- Sumber:
- Bitmap.cs
- Sumber:
- Bitmap.cs
- Sumber:
- Bitmap.cs
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
Pengecualian
g
adalah null
.
Keterangan
Yang baru Bitmap yang dibuat metode ini mengambil resolusi horizontal dan vertikal dari DpiX properti dan DpiY , g
masing-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
- 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
- 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.