Bitmap Konstruktorer
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Initierar en ny instans av Bitmap klassen.
Överlagringar
| Name | Description |
|---|---|
| Bitmap(Image) |
Initierar en ny instans av klassen från den angivna befintliga avbildningen Bitmap . |
| Bitmap(Stream) |
Initierar en ny instans av Bitmap klassen från den angivna dataströmmen. |
| Bitmap(String) |
Initierar en ny instans av Bitmap klassen från den angivna filen. |
| Bitmap(Image, Size) |
Initierar en ny instans av Bitmap klassen från den angivna befintliga avbildningen, skalad till den angivna storleken. |
| Bitmap(Int32, Int32) |
Initierar en ny instans av Bitmap klassen med den angivna storleken. |
| Bitmap(Stream, Boolean) |
Initierar en ny instans av Bitmap klassen från den angivna dataströmmen. |
| Bitmap(String, Boolean) |
Initierar en ny instans av Bitmap klassen från den angivna filen. |
| Bitmap(Type, String) |
Initierar en ny instans av Bitmap klassen från en angiven resurs. |
| Bitmap(Image, Int32, Int32) |
Initierar en ny instans av Bitmap klassen från den angivna befintliga avbildningen, skalad till den angivna storleken. |
| Bitmap(Int32, Int32, Graphics) |
Initierar en ny instans av Bitmap klassen med den angivna storleken och med upplösningen för det angivna Graphics objektet. |
| Bitmap(Int32, Int32, PixelFormat) |
Initierar en ny instans av Bitmap klassen med angiven storlek och format. |
| Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr) |
Initierar en ny instans av Bitmap klassen med angiven storlek, pixelformat och pixeldata. |
Bitmap(Image)
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
Initierar en ny instans av klassen från den angivna befintliga avbildningen Bitmap .
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)
Parametrar
Gäller för
Bitmap(Stream)
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
Initierar en ny instans av Bitmap klassen från den angivna dataströmmen.
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)
Parametrar
- stream
- Stream
Dataströmmen som används för att läsa in avbildningen.
Undantag
stream innehåller inte bilddata eller är null.
-eller-
stream innehåller en PNG-bildfil med en enda dimension större än 65 535 bildpunkter.
Exempel
Följande kodexempel visar hur du läser in en bitmapp från en dataström.
Det här exemplet är utformat för att användas med Windows Forms. Skapa ett formulär som innehåller ett PictureBox med namnet PictureBox1. Klistra in koden i formuläret och anropa InitializeStreamBitmap metoden från formulärets konstruktor- eller Load händelsehanteringsmetod.
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
Kommentarer
Du måste hålla strömmen öppen under livslängden för Bitmap.
På grund av en begränsning i GDI+-avkodaren genereras en System.ArgumentException om du skapar en bitmapp från en .png bildfil med en enda dimension som är större än 65 535 bildpunkter.
Se även
Gäller för
Bitmap(String)
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
Initierar en ny instans av Bitmap klassen från den angivna filen.
public:
Bitmap(System::String ^ filename);
public Bitmap(string filename);
new System.Drawing.Bitmap : string -> System.Drawing.Bitmap
Public Sub New (filename As String)
Parametrar
- filename
- String
Bitmappens filnamn och sökväg.
Undantag
Det gick inte att hitta den angivna filen.
Kommentarer
Filnamnet och sökvägen kan vara relativa till programmet eller en absolut sökväg. Använd den här konstruktorn för att öppna bilder med följande filformat: BMP, GIF, EXIF, JPG, PNG och TIFF. Mer information om format som stöds finns i Typer av bitmappar. Filen förblir låst tills den Bitmap tas bort.
Se även
Gäller för
Bitmap(Image, Size)
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
Initierar en ny instans av Bitmap klassen från den angivna befintliga avbildningen, skalad till den angivna storleken.
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)
Parametrar
Undantag
Åtgärden misslyckades.
Gäller för
Bitmap(Int32, Int32)
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
Initierar en ny instans av Bitmap klassen med den angivna storleken.
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)
Parametrar
Undantag
Åtgärden misslyckades.
Kommentarer
Den här konstruktorn skapar en Bitmap med uppräkningsvärdet PixelFormatFormat32bppArgb .
Gäller för
Bitmap(Stream, Boolean)
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
Initierar en ny instans av Bitmap klassen från den angivna dataströmmen.
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)
Parametrar
- stream
- Stream
Dataströmmen som används för att läsa in avbildningen.
Undantag
stream innehåller inte bilddata eller är null.
-eller-
stream innehåller en PNG-bildfil med en enda dimension större än 65 535 bildpunkter.
Kommentarer
Du måste hålla strömmen öppen under livslängden för Bitmap.
På grund av en begränsning i GDI+-avkodaren genereras en System.ArgumentException om du skapar en bitmapp från en .png bildfil med en enda dimension som är större än 65 535 bildpunkter.
Se även
Gäller för
Bitmap(String, Boolean)
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
Initierar en ny instans av Bitmap klassen från den angivna filen.
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)
Parametrar
- filename
- String
Namnet på bitmappsfilen.
Exempel
Följande kodexempel visar hur du skapar en ny bitmapp från en fil. I exemplet används GetPixel metoderna och SetPixel för att ändra färg på bilden. Den använder också egenskapen PixelFormat .
Det här exemplet är utformat för att användas med ett Windows formulär som innehåller en Label, PictureBox och Button med namnet Label1, PictureBox1 respektive Button1. Klistra in koden i formuläret och associera Button1_Click metoden med knappens Click händelse.
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
Kommentarer
Använd den här konstruktorn för att öppna bilder med följande filformat: BMP, GIF, EXIF, JPG, PNG och TIFF. Mer information om format som stöds finns i Typer av bitmappar. Filen förblir låst tills den Bitmap tas bort.
Se även
Gäller för
Bitmap(Type, String)
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
Initierar en ny instans av Bitmap klassen från en angiven resurs.
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)
Parametrar
- type
- Type
Klassen som används för att extrahera resursen.
- resource
- String
Namnet på resursen.
Exempel
I följande kodexempel visas hur du skapar en bitmapp från en typ och hur du använder Save metoden. Om du vill köra det här exemplet klistrar du in koden i ett Windows formulär. Hantera formulärets Paint händelse och anropa metoden och skicka ConstructFromResourceSaveAsGif som ePaintEventArgs
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
Kommentarer
Den här konstruktorn kombinerar namnområdet för den angivna typen med resursens strängnamn och söker efter en matchning i sammansättningsmanifestet. Du kan till exempel skicka Button typ och Button.bmp till den här konstruktorn och leta efter en resurs med namnet System.Windows.Forms.Button.bmp.
Se även
Gäller för
Bitmap(Image, Int32, Int32)
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
Initierar en ny instans av Bitmap klassen från den angivna befintliga avbildningen, skalad till den angivna storleken.
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)
Parametrar
Undantag
Åtgärden misslyckades.
Gäller för
Bitmap(Int32, Int32, Graphics)
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- 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)
Parametrar
Undantag
g är null.
Kommentarer
Det nya Bitmap som den här metoden skapar tar sin vågräta och lodräta upplösning från DpiX egenskaperna DpiYoch g för , respektive.
Gäller för
Bitmap(Int32, Int32, PixelFormat)
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
Initierar en ny instans av Bitmap klassen med angiven storlek och 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)
Parametrar
- format
- PixelFormat
Pixelformatet för den nya Bitmap. Detta måste ange ett värde som börjar med Format.
Undantag
Ett PixelFormat värde anges vars namn inte börjar med Format. Om du till exempel anger Gdi orsakas en ArgumentException, men Format48bppRgb inte .
Gäller för
Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr)
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
- Källa:
- Bitmap.cs
Initierar en ny instans av Bitmap klassen med angiven storlek, pixelformat och pixeldata.
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)
Parametrar
- stride
- Int32
Heltal som anger byteförskjutningen mellan början av en genomsökningsrad och nästa. Detta är vanligtvis (men inte nödvändigtvis) antalet byte i pixelformatet (till exempel 2 för 16 bitar per pixel) multiplicerat med bitmappens bredd. Värdet som skickas till den här parametern måste vara en multipel av fyra.
- format
- PixelFormat
Pixelformatet för den nya Bitmap. Detta måste ange ett värde som börjar med Format.
- scan0
-
IntPtr
nativeint
Pekare till en matris med byte som innehåller pixeldata.
Undantag
Ett PixelFormat värde anges vars namn inte börjar med Format. Om du till exempel anger Gdi orsakas en ArgumentException, men Format48bppRgb inte .
Exempel
Följande kodexempel visar hur du använder Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr) konstruktorn. Det här exemplet är utformat för att användas med Windows Forms och kräver en parameter PaintEventArgs, som är en parameter för händelsen Paint.
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
Kommentarer
Anroparen ansvarar för att allokera och frigöra det minnesblock som anges av parametern scan0 . Minnet bör dock inte släppas förrän det relaterade Bitmap har släppts.