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
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 Stream. |
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 Stream. |
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 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
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
Initialisiert eine neue Instanz der Bitmap-Klasse aus dem angegebenen 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)
Parameter
- stream
- Stream
Der zum Laden des Bildes verwendete Datenstream.
Ausnahmen
stream
enthält keine Bilddaten oder ist null
.
- oder -
stream
enthält eine eindimensionale PNG-Bilddatei, deren Umfang 65.535 Pixel überschreitet.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie eine Bitmap aus einem Stream geladen wird.
Dieses Beispiel ist für die Verwendung mit Windows Forms konzipiert. Create ein Formular mit dem PictureBox Namen PictureBox1
. Fügen Sie den Code in das Formular ein, und rufen Sie die InitializeStreamBitmap
-Methode aus dem Konstruktor oder Load der 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 Stream für die Lebensdauer des Bitmapgeöffnet lassen.
Aufgrund einer Einschränkung des GDI+-Decoders wird eine System.ArgumentException ausgelöst, wenn Sie eine Bitmap aus einer .png Bilddatei mit einer einzelnen Dimension größer als 65.535 Pixel erstellen.
Weitere Informationen
Gilt für:
Bitmap(String)
- 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 Dateiname und Pfad der Bitmapdatei.
Ausnahmen
Die angegebene Datei wurde nicht gefunden.
Hinweise
Dateiname und Pfad können relativ zur Anwendung oder 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 Typen von Bitmaps. Die Datei bleibt gesperrt, bis die Bitmap verworfen wird.
Weitere Informationen
Gilt für:
Bitmap(Image, Size)
- 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
Fehler beim Vorgang.
Gilt für:
Bitmap(Int32, Int32)
- 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
Fehler beim Vorgang.
Hinweise
Dieser Konstruktor erstellt einen Bitmap mit dem PixelFormat Enumerationswert .Format32bppArgb
Gilt für:
Bitmap(Stream, Boolean)
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
- Quelle:
- Bitmap.cs
Initialisiert eine neue Instanz der Bitmap-Klasse aus dem angegebenen 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)
Parameter
- stream
- Stream
Der zum Laden des Bildes verwendete Datenstream.
Ausnahmen
stream
enthält keine Bilddaten oder ist null
.
- oder -
stream
enthält eine eindimensionale PNG-Bilddatei, deren Umfang 65.535 Pixel überschreitet.
Hinweise
Sie müssen den Stream für die Lebensdauer des Bitmapgeöffnet lassen.
Aufgrund einer Einschränkung des GDI+-Decoders wird eine System.ArgumentException ausgelöst, wenn Sie eine Bitmap aus einer .png Bilddatei mit einer einzelnen 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
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 veranschaulicht, wie eine neue Bitmap aus einer Datei erstellt wird. Im Beispiel werden die GetPixel Methoden und SetPixel verwendet, um das Bild neu einzufärben. Außerdem wird die PixelFormat -Eigenschaft verwendet.
Dieses Beispiel wurde entworfen, um mit einem Windows-Formular verwendet werden, enthalten eine Label, PictureBox und Button mit dem Namen Label1
, PictureBox1
und Button1
bzw. Fügen Sie den Code in das Formular ein, und ordnen Sie die Button1_Click
-Methode dem -Ereignis der Click Schaltfläche 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 Typen von Bitmaps. Die Datei bleibt gesperrt, bis die Bitmap verworfen wird.
Weitere Informationen
Gilt für:
Bitmap(Type, String)
- 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, mit der die Ressource extrahiert wird.
- resource
- String
Der Name der Ressource.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie eine Bitmap aus einem Typ erstellt und die -Methode verwendet Save wird. Um dieses Beispiel auszuführen, fügen Sie den Code in ein Windows Form-Formular ein. Behandeln Sie das Ereignis des Formulars Paint , und rufen Sie die ConstructFromResourceSaveAsGif
-Methode auf, und übergeben Sie 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. Beispielsweise können Sie den Button Typ und Button.bmp
an diesen Konstruktor übergeben, und er sucht nach einer Ressource mit dem Namen System.Windows.Forms.Button.bmp
.
Weitere Informationen
Gilt für:
Bitmap(Image, Int32, Int32)
- 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
Fehler beim Vorgang.
Gilt für:
Bitmap(Int32, Int32, Graphics)
- 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
Die neue Bitmap , diese Methode erstellt akzeptiert die horizontale und vertikale Auflösung aus der DpiX und DpiY Eigenschaften g
bzw.
Gilt für:
Bitmap(Int32, Int32, PixelFormat)
- 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 die neue Bitmap. Dadurch muss ein Wert angegeben werden, der mit Format
beginnt.
Ausnahmen
Ein PixelFormat-Wert wird angegeben, dessen Name nicht mit Format beginnt. Die Angabe von Gdi verursacht z. B. eine ArgumentException, Format48bppRgb hingegen nicht.
Gilt für:
Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr)
- 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. Dabei handelt es sich normalerweise (aber nicht zwingend) um die Anzahl von Bytes im Pixelformat (z. B. 2 für 16 Bits pro Pixel) multipliziert mit der Breite der Bitmap. Der an diesen Parameter übergebene Wert muss ein Vielfaches von 4 sein.
- format
- PixelFormat
Das Pixelformat für die neue Bitmap. Dadurch muss ein Wert angegeben werden, der mit Format
beginnt.
- scan0
-
IntPtr
nativeint
Zeiger auf ein Array von Bytes, das die Pixeldaten enthält.
Ausnahmen
Ein PixelFormat-Wert wird angegeben, dessen Name nicht mit Format beginnt. Die Angabe von Gdi verursacht z. B. eine ArgumentException, Format48bppRgb hingegen nicht.
Beispiele
Im folgenden Codebeispiel wird die Verwendung des Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr) Konstruktors veranschaulicht. Dieses Beispiel ist für die Verwendung mit Windows Forms konzipiert und erfordert einen PaintEventArgs Parameter, bei dem es sich um einen 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 die Zuweisung und Freigabe des durch den Parameter angegebenen Speicherblocks scan0
verantwortlich. Der Arbeitsspeicher sollte jedoch erst freigegeben werden, wenn der zugehörige Bitmap freigegeben wird.