Classe Bitmap (System.Drawing)

Cambia visualizzazione:
ScriptFree
Riferimento a .NET Framework
Classe Bitmap
Il presente articolo è stato tradotto manualmente. Per visualizzare questa pagina e contemporaneamente visualizzarne il contenuto in lingua inglese, passare alla visualizzazione semplificata.

Incapsula una bitmap GDI+, costituita dai dati pixel di un'immagine e dai relativi attributi. Bitmap è un oggetto utilizzato per operare con immagini definite dai dati pixel.

Gerarchia di ereditarietà

System.Object
  System.MarshalByRefObject
    System.Drawing.Image
      System.Drawing.Bitmap

Spazio dei nomi:  System.Drawing
Assembly:  System.Drawing (in System.Drawing.dll)
Sintassi

Visual Basic
<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public NotInheritable Class Bitmap _
	Inherits Image
C#
[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class Bitmap : Image
Visual C++
[SerializableAttribute]
[ComVisibleAttribute(true)]
public ref class Bitmap sealed : public Image
F#
[<Sealed>]
[<SerializableAttribute>]
[<ComVisibleAttribute(true)>]
type Bitmap =  
    class
        inherit Image
    end

Il tipo Bitmap espone i seguenti membri.

Costruttori

  Nome Descrizione
Metodo pubblico Bitmap(Image) Inizializza una nuova istanza della classe Bitmap a partire dall'immagine esistente.
Metodo pubblico Bitmap(Stream) Inizializza una nuova istanza della classe Bitmap dal flusso di dati specificato.
Metodo pubblico Bitmap(String) Inizializza una nuova istanza della classe Bitmap dal file specificato.
Metodo pubblico Bitmap(Image, Size) Inizializza una nuova istanza della classe Bitmap dall'immagine specificata esistente, adattata in base alle dimensioni indicate.
Metodo pubblico Bitmap(Int32, Int32) Inizializza una nuova istanza della classe Bitmap con le dimensioni specificate.
Metodo pubblico Bitmap(Stream, Boolean) Inizializza una nuova istanza della classe Bitmap dal flusso di dati specificato.
Metodo pubblico Bitmap(String, Boolean) Inizializza una nuova istanza della classe Bitmap dal file specificato.
Metodo pubblico Bitmap(Type, String) Inizializza una nuova istanza della classe Bitmap da una risorsa specificata.
Metodo pubblico Bitmap(Image, Int32, Int32) Inizializza una nuova istanza della classe Bitmap dall'immagine specificata esistente, adattata in base alle dimensioni indicate.
Metodo pubblico Bitmap(Int32, Int32, Graphics) Inizializza una nuova istanza della classe Bitmap con le dimensioni specificate e la risoluzione dell'oggetto Graphics indicato.
Metodo pubblico Bitmap(Int32, Int32, PixelFormat) Inizializza una nuova istanza della classe Bitmap con le dimensioni e il formato specificati.
Metodo pubblico Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr) Inizializza una nuova istanza della classe Bitmap con le dimensioni, il formato pixel e i dati pixel specificati.
In alto
Proprietà

  Nome Descrizione
Proprietà pubblica Flags Ottiene i flag di attributi per i dati pixel di questo oggetto Image. (Ereditato da Image)
Proprietà pubblica FrameDimensionsList Ottiene una matrice di GUID che rappresentano le dimensioni dei fotogrammi all'interno di questo oggetto Image. (Ereditato da Image)
Proprietà pubblica Height Ottiene l'altezza in pixel di questo oggetto Image. (Ereditato da Image)
Proprietà pubblica HorizontalResolution Ottiene la risoluzione orizzontale in pixel per pollice di questo oggetto Image. (Ereditato da Image)
Proprietà pubblica Palette Ottiene o imposta la tavolozza dei colori utilizzata per questo oggetto Image. (Ereditato da Image)
Proprietà pubblica PhysicalDimension Ottiene la larghezza e l'altezza di questa immagine. (Ereditato da Image)
Proprietà pubblica PixelFormat Ottiene il formato pixel per questo oggetto Image. (Ereditato da Image)
Proprietà pubblica PropertyIdList Ottiene gli ID degli elementi di proprietà archiviati in questo oggetto Image. (Ereditato da Image)
Proprietà pubblica PropertyItems Ottiene tutti gli elementi di proprietà (porzioni di metadati) archiviati in questo oggetto Image. (Ereditato da Image)
Proprietà pubblica RawFormat Ottiene il formato di file dell'oggetto Image. (Ereditato da Image)
Proprietà pubblica Size Ottiene la larghezza e l'altezza di questa immagine in pixel. (Ereditato da Image)
Proprietà pubblica Tag Ottiene o imposta un oggetto che fornisce dati aggiuntivi relativi all'immagine. (Ereditato da Image)
Proprietà pubblica VerticalResolution Ottiene la risoluzione verticale in pixel per pollice di questo oggetto Image. (Ereditato da Image)
Proprietà pubblica Width Ottiene la larghezza in pixel di questo oggetto Image. (Ereditato da Image)
In alto
Metodi

  Nome Descrizione
Metodo pubblico Clone() Crea una copia esatta di Image. (Ereditato da Image)
Metodo pubblico Clone(Rectangle, PixelFormat) Crea una copia della sezione dell'oggetto Bitmap definita dalla struttura Rectangle e con un'enumerazione PixelFormat specificata.
Metodo pubblico Clone(RectangleF, PixelFormat) Crea una copia della sezione di questo oggetto Bitmap definita con un'enumerazione PixelFormat specificata.
Metodo pubblico CreateObjRef Consente di creare un oggetto che contiene tutte le informazioni rilevanti necessarie per la generazione del proxy utilizzato per effettuare la comunicazione con un oggetto remoto. (Ereditato da MarshalByRefObject)
Metodo pubblico Dispose() Rilascia tutte le risorse utilizzate da Image. (Ereditato da Image)
Metodo protetto Dispose(Boolean) Rilascia le risorse non gestite utilizzate dall'oggetto Image ed eventualmente rilascia le risorse gestite. (Ereditato da Image)
Metodo pubblico Equals(Object) Determina se l'oggetto Object specificato è uguale all'oggetto Object corrente. (Ereditato da Object)
Metodo protetto Finalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Image)
Metodo pubblico Membro statico FromHicon Crea un oggetto Bitmap da un handle di Windows per un'icona.
Metodo pubblico Membro statico FromResource Crea un oggetto Bitmap dalla risorsa di Windows specificata.
Metodo pubblico GetBounds Ottiene i limiti dell'immagine nell'unità di misura specificata. (Ereditato da Image)
Metodo pubblico GetEncoderParameterList Restituisce informazioni sui parametri supportati dal codificatore di immagini specificato. (Ereditato da Image)
Metodo pubblico GetFrameCount Restituisce il numero dei fotogrammi della dimensione specificata. (Ereditato da Image)
Metodo pubblico GetHashCode Funge da funzione hash per un determinato tipo. (Ereditato da Object)
Metodo pubblico GetHbitmap() Crea un oggetto bitmap GDI da questo oggetto Bitmap.
Metodo pubblico GetHbitmap(Color) Crea un oggetto bitmap GDI da questo oggetto Bitmap.
Metodo pubblico GetHicon Restituisce l'handle per un'icona.
Metodo pubblico GetLifetimeService Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza. (Ereditato da MarshalByRefObject)
Metodo pubblico GetPixel Ottiene il colore del pixel specificato in questo oggetto Bitmap.
Metodo pubblico GetPropertyItem Ottiene l'elemento di proprietà specificato da questo oggetto Image. (Ereditato da Image)
Metodo pubblico GetThumbnailImage Restituisce un'anteprima di questo oggetto Image. (Ereditato da Image)
Metodo pubblico GetType Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblico InitializeLifetimeService Consente di ottenere un oggetto servizio di durata per il controllo dei criteri di durata per l'istanza. (Ereditato da MarshalByRefObject)
Metodo pubblico LockBits(Rectangle, ImageLockMode, PixelFormat) Blocca un oggetto Bitmap nella memoria di sistema.
Metodo pubblico LockBits(Rectangle, ImageLockMode, PixelFormat, BitmapData) Blocca un oggetto Bitmap nella memoria di sistema
Metodo pubblico MakeTransparent() Rende il colore trasparente predefinito trasparente per l'oggetto Bitmap.
Metodo pubblico MakeTransparent(Color) Rende trasparente il colore specificato per l'oggetto Bitmap.
Metodo protetto MemberwiseClone() Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo protetto MemberwiseClone(Boolean) Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente. (Ereditato da MarshalByRefObject)
Metodo pubblico RemovePropertyItem Rimuove da questo oggetto Image l'elemento di proprietà specificato. (Ereditato da Image)
Metodo pubblico RotateFlip Ruota, capovolge o ruota e capovolge Image. (Ereditato da Image)
Metodo pubblico Save(String) Salva questo oggetto Image nel file o flusso specificato. (Ereditato da Image)
Metodo pubblico Save(Stream, ImageFormat) Salva questa immagine nel flusso e nel formato specificati. (Ereditato da Image)
Metodo pubblico Save(String, ImageFormat) Salva questo oggetto Image nel file e nel formato specificati. (Ereditato da Image)
Metodo pubblico Save(Stream, ImageCodecInfo, EncoderParameters) Salva questa immagine nel flusso specificato, con i parametri di codificatore specificato e codificatore di immagini. (Ereditato da Image)
Metodo pubblico Save(String, ImageCodecInfo, EncoderParameters) Salva l'immagine Image nel file specificato, con i parametri di codificatore specificato e di codificatore di immagini. (Ereditato da Image)
Metodo pubblico SaveAdd(EncoderParameters) Aggiunge un fotogramma al file o al flusso specificato in una precedente chiamata al metodo Save. Utilizzare questo metodo per salvare i fotogrammi selezionati da un'immagine a più fotogrammi in un'altra immagine a più fotogrammi. (Ereditato da Image)
Metodo pubblico SaveAdd(Image, EncoderParameters) Aggiunge un fotogramma al file o al flusso specificato in una precedente chiamata al metodo Save. (Ereditato da Image)
Metodo pubblico SelectActiveFrame Seleziona il fotogramma specificato in base alla dimensione e all'indice. (Ereditato da Image)
Metodo pubblico SetPixel Impostazione del colore del pixel specificato in questo oggetto Bitmap.
Metodo pubblico SetPropertyItem Archivia un elemento di proprietà (porzione di metadati) in questo oggetto Image. (Ereditato da Image)
Metodo pubblico SetResolution Imposta la risoluzione per questo oggetto Bitmap.
Metodo pubblico ToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
Metodo pubblico UnlockBits Sblocca l'oggetto Bitmap dalla memoria di sistema.
In alto
Implementazioni esplicite dell'interfaccia

  Nome Descrizione
Implementazione esplicita dell'interfaccia Metodo privato ISerializable.GetObjectData Compila un oggetto SerializationInfo con i dati necessari per serializzare l'oggetto di destinazione. (Ereditato da Image)
In alto
Note

Una bitmap è costituita dai dati pixel di un'immagine e dai relativi attributi. Sono disponibili molti formati standard per il salvataggio di una bitmap in un file. GDI+ supporta i seguenti formati: BMP, GIF, EXIF, JPG, PNG e TIFF. Per ulteriori informazioni sui formati supportati, vedere Tipi di bitmap.

È possibile creare immagini da file, flussi e altre origini mediante uno dei costruttori Bitmap e salvarle in un flusso o nel file system con il metodo Save. Le immagini vengono disegnate sullo schermo o nella memoria mediante il metodo DrawImage dell'oggetto Graphics. Per un elenco di argomenti sull'utilizzo dei file di immagine, vedere Utilizzo di immagini, bitmap, icone e metafile.

Nota Nota

La classe Bitmap non è accessibile attraverso i domini dell'applicazione. Ad esempio, se si creano un oggetto AppDomain dinamico e diversi pennelli, penne e bitmap in tale dominio e si passano questi oggetti nuovamente nel dominio dell'applicazione principale, è possibile utilizzare correttamente le penne e i pennelli. Se tuttavia si chiama il metodo DrawImage per disegnare l'oggetto Bitmap di cui è stato effettuato il marshalling, si riceve l'eccezione riportata di seguito.

Campo "native image" su tipo "System.Drawing.Image." non trovato dai servizi remoti.

Esempi

Nell'esempio di codice riportato di seguito viene illustrato come costruire un nuovo oggetto Bitmap da un file, utilizzando i metodi GetPixel e SetPixel per ricolorare l'immagine. Vengono inoltre utilizzate le proprietà PixelFormat, Width e Height.

Questo esempio è progettato per l'uso con un Windows Form contenente oggetti Label, PictureBox e Button denominati rispettivamente Label1PictureBox1 e Button1. Incollare il codice nel form e associare il metodo Button1_Click all'evento Click del pulsante.

Visual Basic

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


C#

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.");
    }
}


Visual C++

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." );
      }

   }


Informazioni sulla versione

.NET Framework

Supportato in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1
Piattaforme

Windows 7, Windows Vista SP1 o versione successiva, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (componenti di base del server non supportati), Windows Server 2008 R2 (componenti di base del server supportati con SP1 o versione successiva), Windows Server 2003 SP2

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Codice thread safe

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.
Vedere anche

Riferimenti

Altre risorse