Bitmap Konstruktoren
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Initialisiert eine neue Instanz der Bitmap-Klasse.
Überlädt
| Name | Beschreibung |
|---|---|
| Bitmap(Image) |
Initialisiert eine neue Instanz der Bitmap Klasse aus dem angegebenen vorhandenen Bild. |
| Bitmap(Stream) |
Initialisiert eine neue Instanz der Bitmap Klasse aus dem angegebenen Datenstrom. |
| Bitmap(String) |
Initialisiert eine neue Instanz der Bitmap Klasse aus der angegebenen Datei. |
| Bitmap(Image, Size) |
Initialisiert eine neue Instanz der Bitmap Klasse aus dem angegebenen vorhandenen Bild, skaliert auf die angegebene Größe. |
| Bitmap(Int32, Int32) |
Initialisiert eine neue Instanz der Bitmap Klasse mit der angegebenen Größe. |
| Bitmap(Stream, Boolean) |
Initialisiert eine neue Instanz der Bitmap Klasse aus dem angegebenen Datenstrom. |
| Bitmap(String, Boolean) |
Initialisiert eine neue Instanz der Bitmap Klasse aus der angegebenen Datei. |
| Bitmap(Type, String) |
Initialisiert eine neue Instanz der Bitmap Klasse aus einer angegebenen Ressource. |
| Bitmap(Image, Int32, Int32) |
Initialisiert eine neue Instanz der Bitmap Klasse aus dem angegebenen vorhandenen Bild, skaliert auf die angegebene Größe. |
| Bitmap(Int32, Int32, Graphics) |
Initialisiert eine neue Instanz der Bitmap Klasse mit der angegebenen Größe und mit der Auflösung des angegebenen Graphics Objekts. |
| Bitmap(Int32, Int32, PixelFormat) |
Initialisiert eine neue Instanz der Bitmap Klasse mit der angegebenen Größe und dem angegebenen Format. |
| Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr) |
Initialisiert eine neue Instanz der Bitmap Klasse mit der angegebenen Größe, dem Pixelformat und den Pixeldaten. |
Bitmap(Image)
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
Initialisiert eine neue Instanz der Bitmap Klasse aus dem angegebenen vorhandenen Bild.
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
Gilt für:
Bitmap(Stream)
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
Initialisiert eine neue Instanz der Bitmap Klasse aus dem angegebenen Datenstrom.
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
Der Zum Laden des Bilds verwendete Datenstrom.
Ausnahmen
stream enthält keine Bilddaten oder ist null.
- oder -
stream enthält eine PNG-Bilddatei mit einer einzigen Dimension, die größer als 65.535 Pixel ist.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie eine Bitmap aus einem Datenstrom geladen wird.
Dieses Beispiel wurde für die Verwendung mit Windows Forms entwickelt. Erstellen Sie ein Formular, das einen PictureBox benannten Namen PictureBox1enthält. Fügen Sie den Code in das Formular ein, und rufen Sie die Methode aus dem Konstruktor oder Load der InitializeStreamBitmap Ereignisbehandlungsmethode des Formulars auf.
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
Hinweise
Sie müssen den Datenstrom für die Lebensdauer der Bitmap.
Aufgrund einer Einschränkung des GDI+-Decoders wird ein System.ArgumentException Fehler ausgelöst, wenn Sie eine Bitmap aus einer .png Bilddatei mit einer einzigen Dimension größer als 65.535 Pixel erstellen.
Weitere Informationen
Gilt für:
Bitmap(String)
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
Initialisiert eine neue Instanz der Bitmap Klasse aus der angegebenen Datei.
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
Der Name und Pfad der Bitmapdatei.
Ausnahmen
Die angegebene Datei wurde nicht gefunden.
Hinweise
Der Dateiname und der Pfad können relativ zur Anwendung oder zu einem absoluten Pfad sein. Verwenden Sie diesen Konstruktor, um Bilder mit den folgenden Dateiformaten zu öffnen: BMP, GIF, EXIF, JPG, PNG und TIFF. Weitere Informationen zu unterstützten Formaten finden Sie unter "Bitmaptypen". Die Datei bleibt gesperrt, bis die Bitmap Datei verworfen wird.
Weitere Informationen
Gilt für:
Bitmap(Image, Size)
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
Initialisiert eine neue Instanz der Bitmap Klasse aus dem angegebenen vorhandenen Bild, skaliert auf die angegebene Größe.
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
Ausnahmen
Dieser Vorgang ist fehlgeschlagen.
Gilt für:
Bitmap(Int32, Int32)
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
Initialisiert eine neue Instanz der Bitmap Klasse mit der angegebenen Größe.
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
Ausnahmen
Dieser Vorgang ist fehlgeschlagen.
Hinweise
Dieser Konstruktor erstellt einen Bitmap mit einem PixelFormat Enumerationswert von Format32bppArgb.
Gilt für:
Bitmap(Stream, Boolean)
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
Initialisiert eine neue Instanz der Bitmap Klasse aus dem angegebenen Datenstrom.
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
Der Zum Laden des Bilds verwendete Datenstrom.
Ausnahmen
stream enthält keine Bilddaten oder ist null.
- oder -
stream enthält eine PNG-Bilddatei mit einer einzigen Dimension, die größer als 65.535 Pixel ist.
Hinweise
Sie müssen den Datenstrom für die Lebensdauer der Bitmap.
Aufgrund einer Einschränkung des GDI+-Decoders wird ein System.ArgumentException Fehler ausgelöst, wenn Sie eine Bitmap aus einer .png Bilddatei mit einer einzigen Dimension größer als 65.535 Pixel erstellen.
Weitere Informationen
Gilt für:
Bitmap(String, Boolean)
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
Initialisiert eine neue Instanz der Bitmap Klasse aus der angegebenen Datei.
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
Der Name der Bitmapdatei.
Beispiele
Im folgenden Codebeispiel wird das Erstellen einer neuen Bitmap aus einer Datei veranschaulicht. Im Beispiel werden die GetPixel Bilder und SetPixel Methoden verwendet, um das Bild neu einfärben zu können. Außerdem wird die PixelFormat Eigenschaft verwendet.
Dieses Beispiel wurde für die Verwendung mit einem Windows Form-Formular entwickelt, das ein Label, PictureBoxPictureBox1Button bzw. einen benannten , bzwButton1. einen Namen Label1enthält. Fügen Sie den Code in das Formular ein, und ordnen Sie die Button1_Click Methode dem Ereignis der Schaltfläche Click zu.
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
Hinweise
Verwenden Sie diesen Konstruktor, um Bilder mit den folgenden Dateiformaten zu öffnen: BMP, GIF, EXIF, JPG, PNG und TIFF. Weitere Informationen zu unterstützten Formaten finden Sie unter "Bitmaptypen". Die Datei bleibt gesperrt, bis die Bitmap Datei verworfen wird.
Weitere Informationen
Gilt für:
Bitmap(Type, String)
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
Initialisiert eine neue Instanz der Bitmap Klasse aus einer angegebenen Ressource.
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
Die Klasse, die zum Extrahieren der Ressource verwendet wird.
- resource
- String
Der Name der Ressource.
Beispiele
Im folgenden Codebeispiel wird das Erstellen einer Bitmap aus einem Typ und die Verwendung der Save Methode veranschaulicht. Zum Ausführen dieses Beispiels fügen Sie den Code in ein Windows Form-Formular ein. Behandeln des Formularereignisses Paint und Aufrufen der ConstructFromResourceSaveAsGif Methode durch Übergeben e als 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
Hinweise
Dieser Konstruktor kombiniert den Namespace des angegebenen Typs mit dem Zeichenfolgennamen der Ressource und sucht im Assemblymanifest nach einer Übereinstimmung. Sie können z. B. den Button Typ und Button.bmp diesen Konstruktor übergeben und nach einer Ressource mit dem Namen System.Windows.Forms.Button.bmpsuchen.
Weitere Informationen
Gilt für:
Bitmap(Image, Int32, Int32)
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
Initialisiert eine neue Instanz der Bitmap Klasse aus dem angegebenen vorhandenen Bild, skaliert auf die angegebene Größe.
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
Ausnahmen
Dieser Vorgang ist fehlgeschlagen.
Gilt für:
Bitmap(Int32, Int32, Graphics)
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- 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
Ausnahmen
g ist null.
Hinweise
Das neue Bitmap , das diese Methode erstellt, übernimmt die horizontale und vertikale Auflösung der DpiX jeweiligen DpiY Eigenschaften g.
Gilt für:
Bitmap(Int32, Int32, PixelFormat)
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
Initialisiert eine neue Instanz der Bitmap Klasse mit der angegebenen Größe und dem angegebenen 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)
Parameter
- format
- PixelFormat
Das Pixelformat für das neue Bitmap. Dies muss einen Wert angeben, der mit Format.
Ausnahmen
Es wird ein PixelFormat Wert angegeben, dessen Name nicht mit "Format" beginnt. Die Angabe Gdi führt z. B. zu einer ArgumentException, aber Format48bppRgb nicht.
Gilt für:
Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr)
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
Initialisiert eine neue Instanz der Bitmap Klasse mit der angegebenen Größe, dem Pixelformat und den Pixeldaten.
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
Ganze Zahl, die den Byteoffset zwischen dem Anfang einer Scanzeile und der nächsten angibt. Dies ist in der Regel (aber nicht unbedingt) die Anzahl der Bytes im Pixelformat (z. B. 2 für 16 Bit pro Pixel), multipliziert mit der Breite der Bitmap. Der an diesen Parameter übergebene Wert muss ein Vielfaches von vier sein.
- format
- PixelFormat
Das Pixelformat für das neue Bitmap. Dies muss einen Wert angeben, der mit Format.
- scan0
-
IntPtr
nativeint
Zeigen Sie auf ein Bytearray, das die Pixeldaten enthält.
Ausnahmen
Es wird ein PixelFormat Wert angegeben, dessen Name nicht mit "Format" beginnt. Die Angabe Gdi führt z. B. zu einer ArgumentException, aber Format48bppRgb nicht.
Beispiele
Das folgende Codebeispiel zeigt, wie der Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr) Konstruktor verwendet wird. Dieses Beispiel wurde für die Verwendung mit Windows Forms entwickelt und erfordert einen Parameter, bei dem es sich um einen PaintEventArgs Parameter des Paint Ereignisses handelt.
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
Hinweise
Der Aufrufer ist für das Zuweisen und Freigeben des durch den scan0 Parameter angegebenen Speicherblocks verantwortlich. Der Speicher sollte jedoch erst freigegeben werden, wenn der zugehörige Bitmap Speicher freigegeben wird.