Bitmap Costruttori
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Inizializza una nuova istanza della classe Bitmap.
Overload
Bitmap(Image) |
Inizializza una nuova istanza della classe Bitmap a partire dall'immagine esistente. |
Bitmap(Stream) |
Inizializza una nuova istanza della classe Bitmap dal flusso dei dati specificato. |
Bitmap(String) |
Inizializza una nuova istanza della classe Bitmap dal file specificato. |
Bitmap(Image, Size) |
Inizializza una nuova istanza della classe Bitmap dall'immagine specificata esistente, adattata in base alle dimensioni indicate. |
Bitmap(Int32, Int32) |
Inizializza una nuova istanza della classe Bitmap con le dimensioni specificate. |
Bitmap(Stream, Boolean) |
Inizializza una nuova istanza della classe Bitmap dal flusso dei dati specificato. |
Bitmap(String, Boolean) |
Inizializza una nuova istanza della classe Bitmap dal file specificato. |
Bitmap(Type, String) |
Inizializza una nuova istanza della classe Bitmap da una risorsa specificata. |
Bitmap(Image, Int32, Int32) |
Inizializza una nuova istanza della classe Bitmap dall'immagine specificata esistente, adattata in base alle dimensioni indicate. |
Bitmap(Int32, Int32, Graphics) |
Inizializza una nuova istanza della classe Bitmap con le dimensioni specificate e la risoluzione dell'oggetto Graphics indicato. |
Bitmap(Int32, Int32, PixelFormat) |
Inizializza una nuova istanza della classe Bitmap con le dimensioni e il formato specificati. |
Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr) |
Inizializza una nuova istanza della classe Bitmap con le dimensioni, il formato pixel e i dati pixel specificati. |
Bitmap(Image)
- Origine:
- Bitmap.cs
- Origine:
- Bitmap.cs
- Origine:
- Bitmap.cs
Inizializza una nuova istanza della classe Bitmap a partire dall'immagine esistente.
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)
Parametri
Si applica a
Bitmap(Stream)
- Origine:
- Bitmap.cs
- Origine:
- Bitmap.cs
- Origine:
- Bitmap.cs
Inizializza una nuova istanza della classe Bitmap dal flusso dei dati specificato.
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)
Parametri
- stream
- Stream
Flusso di dati utilizzato per caricare l'immagine.
Eccezioni
stream
non contiene dati di immagine o è null
.
-oppure-
stream
contiene un file di immagine PNG con una singola dimensione superiore a 65.535 pixel.
Esempio
L'esempio di codice seguente illustra come caricare una bitmap da un flusso.
Questo esempio è progettato per essere usato con Windows Forms. Create un modulo contenente un PictureBox oggetto denominato PictureBox1
. Incollare il codice nel form e chiamare il InitializeStreamBitmap
metodo dal costruttore o Load dal metodo di gestione degli eventi del modulo.
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
Commenti
È necessario mantenere aperto il flusso per la durata di Bitmap.
A causa di una limitazione del decodificatore GDI+, viene generata un'eccezione System.ArgumentException se si costruisce una bitmap da un file di immagine .png con una singola dimensione maggiore di 65.535 pixel.
Vedi anche
Si applica a
Bitmap(String)
- Origine:
- Bitmap.cs
- Origine:
- Bitmap.cs
- Origine:
- Bitmap.cs
Inizializza una nuova istanza della classe Bitmap dal file specificato.
public:
Bitmap(System::String ^ filename);
public Bitmap (string filename);
new System.Drawing.Bitmap : string -> System.Drawing.Bitmap
Public Sub New (filename As String)
Parametri
- filename
- String
Nome e percorso del file bitmap.
Eccezioni
Il file specificato non è stato trovato.
Commenti
Il nome e il percorso del file possono essere relativi all'applicazione o a un percorso assoluto. Usare questo costruttore per aprire le immagini con i formati di file seguenti: BMP, GIF, EXIF, JPG, PNG e TIFF. Per altre informazioni sui formati supportati, vedere Tipi di bitmap. Il file rimane bloccato fino a quando non Bitmap viene eliminato .
Vedi anche
Si applica a
Bitmap(Image, Size)
- Origine:
- Bitmap.cs
- Origine:
- Bitmap.cs
- Origine:
- Bitmap.cs
Inizializza una nuova istanza della classe Bitmap dall'immagine specificata esistente, adattata in base alle dimensioni indicate.
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)
Parametri
Eccezioni
Operazione non riuscita.
Si applica a
Bitmap(Int32, Int32)
- Origine:
- Bitmap.cs
- Origine:
- Bitmap.cs
- Origine:
- Bitmap.cs
Inizializza una nuova istanza della classe Bitmap con le dimensioni specificate.
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)
Parametri
Eccezioni
Operazione non riuscita.
Commenti
Questo costruttore crea un Bitmap oggetto con un PixelFormat valore di enumerazione pari a Format32bppArgb.
Si applica a
Bitmap(Stream, Boolean)
- Origine:
- Bitmap.cs
- Origine:
- Bitmap.cs
- Origine:
- Bitmap.cs
Inizializza una nuova istanza della classe Bitmap dal flusso dei dati specificato.
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)
Parametri
- stream
- Stream
Flusso di dati utilizzato per caricare l'immagine.
- useIcm
- Boolean
true
per utilizzare la correzione dei colori per questo oggetto Bitmap; in caso contrario, false
.
Eccezioni
stream
non contiene dati di immagine o è null
.
-oppure-
stream
contiene un file di immagine PNG con una singola dimensione superiore a 65.535 pixel.
Commenti
È necessario mantenere aperto il flusso per la durata di Bitmap.
A causa di una limitazione del decodificatore GDI+, viene generata un'eccezione System.ArgumentException se si costruisce una bitmap da un file di immagine .png con una singola dimensione maggiore di 65.535 pixel.
Vedi anche
Si applica a
Bitmap(String, Boolean)
- Origine:
- Bitmap.cs
- Origine:
- Bitmap.cs
- Origine:
- Bitmap.cs
Inizializza una nuova istanza della classe Bitmap dal file specificato.
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)
Parametri
- filename
- String
Nome del file bitmap.
- useIcm
- Boolean
true
per utilizzare la correzione dei colori per questo oggetto Bitmap; in caso contrario, false
.
Esempio
Nell'esempio di codice seguente viene illustrato come costruire una nuova bitmap da un file. Nell'esempio vengono usati i GetPixel metodi e SetPixel per ricolorare l'immagine. Usa anche la PixelFormat proprietà .
Questo esempio è progettato per essere usato con un Windows Form che contiene rispettivamente un LabelPictureBox oggetto , e Button denominato PictureBox1
Label1
e Button1
. Incollare il codice nel modulo e associare il Button1_Click
metodo all'evento del Click pulsante.
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
Commenti
Usare questo costruttore per aprire le immagini con i formati di file seguenti: BMP, GIF, EXIF, JPG, PNG e TIFF. Per altre informazioni sui formati supportati, vedere Tipi di bitmap. Il file rimane bloccato fino a quando non Bitmap viene eliminato .
Vedi anche
Si applica a
Bitmap(Type, String)
- Origine:
- Bitmap.cs
- Origine:
- Bitmap.cs
- Origine:
- Bitmap.cs
Inizializza una nuova istanza della classe Bitmap da una risorsa specificata.
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)
Parametri
- type
- Type
Classe utilizzata per estrarre la risorsa.
- resource
- String
Nome della risorsa.
Esempio
Nell'esempio di codice seguente viene illustrato come costruire una bitmap da un tipo e come usare il Save metodo . Per eseguire questo esempio, incollare il codice in un Windows Form. Gestire l'evento del Paint modulo e chiamare il ConstructFromResourceSaveAsGif
metodo , passando e
come 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
Commenti
Questo costruttore combina lo spazio dei nomi del tipo specificato con il nome stringa della risorsa e cerca una corrispondenza nel manifesto dell'assembly. Ad esempio, è possibile passare il Button tipo e Button.bmp
a questo costruttore e cercherà una risorsa denominata System.Windows.Forms.Button.bmp
.
Vedi anche
Si applica a
Bitmap(Image, Int32, Int32)
- Origine:
- Bitmap.cs
- Origine:
- Bitmap.cs
- Origine:
- Bitmap.cs
Inizializza una nuova istanza della classe Bitmap dall'immagine specificata esistente, adattata in base alle dimensioni indicate.
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)
Parametri
Eccezioni
Operazione non riuscita.
Si applica a
Bitmap(Int32, Int32, Graphics)
- Origine:
- Bitmap.cs
- Origine:
- Bitmap.cs
- Origine:
- 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)
Parametri
Eccezioni
g
è null
.
Commenti
Il nuovo Bitmap creato da questo metodo accetta rispettivamente la DpiX risoluzione orizzontale e verticale dalle proprietà e DpiY di g
.
Si applica a
Bitmap(Int32, Int32, PixelFormat)
- Origine:
- Bitmap.cs
- Origine:
- Bitmap.cs
- Origine:
- Bitmap.cs
Inizializza una nuova istanza della classe Bitmap con le dimensioni e il formato specificati.
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)
Parametri
- format
- PixelFormat
Formato pixel per il nuovo oggetto Bitmap. Deve specificare un valore che inizia con Format
.
Eccezioni
Viene specificato un valore PixelFormat il cui nome non inizia con Format. Ad esempio, specificare Gdi, provocherà un ArgumentException, al contrario di Format48bppRgb.
Si applica a
Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr)
- Origine:
- Bitmap.cs
- Origine:
- Bitmap.cs
- Origine:
- Bitmap.cs
Inizializza una nuova istanza della classe Bitmap con le dimensioni, il formato pixel e i dati pixel specificati.
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)
Parametri
- stride
- Int32
Integer che specifica l'offset di byte tra l'inizio di una linea di digitalizzazione e la successiva. In genere, ma non necessariamente, rappresenta il numero di byte in formato di pixel (ad esempio, 2 x 16 bit per pixel) moltiplicato per la larghezza della bitmap. Il valore passato a questo parametro deve essere un multiplo di quattro.
- format
- PixelFormat
Formato pixel per il nuovo oggetto Bitmap. Deve specificare un valore che inizia con Format
.
- scan0
-
IntPtr
nativeint
Puntatore a una matrice di byte in cui sono contenuti i dati del record.
Eccezioni
Viene specificato un valore PixelFormat il cui nome non inizia con Format. Ad esempio, specificare Gdi, provocherà un ArgumentException, al contrario di Format48bppRgb.
Esempio
Nell'esempio di codice seguente viene illustrato come usare il Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr) costruttore . Questo esempio è progettato per essere usato con Windows Forms e richiede un PaintEventArgs parametro , che è un parametro dell'eventoPaint.
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
Commenti
Il chiamante è responsabile dell'allocazione e della liberazione del blocco di memoria specificato dal scan0
parametro . Tuttavia, la memoria non deve essere rilasciata finché non viene rilasciata la relazione Bitmap .