Graphics.FromImage(Image) Metodo

Definizione

Crea un nuovo oggetto Graphics dall'oggetto Image specificato.

public:
 static System::Drawing::Graphics ^ FromImage(System::Drawing::Image ^ image);
public static System.Drawing.Graphics FromImage (System.Drawing.Image image);
static member FromImage : System.Drawing.Image -> System.Drawing.Graphics
Public Shared Function FromImage (image As Image) As Graphics

Parametri

image
Image

Image da cui creare il nuovo oggetto Graphics.

Restituisce

Questo metodo restituisce un nuovo oggetto Graphics per l'oggetto Image specificato.

Eccezioni

image è null.

image presenta un formato a pixel indicizzato oppure il formato non è definito.

Esempio

L'esempio di codice seguente è progettato per l'uso con Windows Forms e richiede PaintEventArgse, che è un parametro del Paint gestore eventi. Il codice esegue l'azione seguente:

  • Crea un oggetto Image da un file di grafica SampImag.jpg nella cartella di esempio.

  • Crea un Graphics oggetto da Image.

  • Modifica l'immagine riempiendo un rettangolo all'interno di esso.

  • Disegna l'oggetto Image sullo schermo.

  • Rilascia l'oggetto creato Graphics.

public:
   void FromImageImage( PaintEventArgs^ e )
   {
      // Create image.
      Image^ imageFile = Image::FromFile( "SampImag.jpg" );

      // Create graphics object for alteration.
      Graphics^ newGraphics = Graphics::FromImage( imageFile );

      // Alter image.
      newGraphics->FillRectangle( gcnew SolidBrush( Color::Black ), 100, 50, 100, 100 );

      // Draw image to screen.
      e->Graphics->DrawImage( imageFile, PointF(0.0F,0.0F) );

      // Dispose of graphics object.
      delete newGraphics;
   }
private void FromImageImage(PaintEventArgs e)
{

    // Create image.
    Image imageFile = Image.FromFile("SampImag.jpg");

    // Create graphics object for alteration.
    Graphics newGraphics = Graphics.FromImage(imageFile);

    // Alter image.
    newGraphics.FillRectangle(new SolidBrush(Color.Black), 100, 50, 100, 100);

    // Draw image to screen.
    e.Graphics.DrawImage(imageFile, new PointF(0.0F, 0.0F));

    // Dispose of graphics object.
    newGraphics.Dispose();
}
Private Sub FromImageImage2(ByVal e As PaintEventArgs)

    ' Create image.
    Dim imageFile As Image = Image.FromFile("SampImag.jpg")

    ' Create graphics object for alteration.
    Dim newGraphics As Graphics = Graphics.FromImage(imageFile)

    ' Alter image.
    newGraphics.FillRectangle(New SolidBrush(Color.Black), _
    100, 50, 100, 100)

    ' Draw image to screen.
    e.Graphics.DrawImage(imageFile, New PointF(0.0F, 0.0F))

    ' Dispose of graphics object.
    newGraphics.Dispose()
End Sub

Commenti

Se l'immagine ha un formato pixel indicizzato, questo metodo genera un'eccezione con il messaggio "Impossibile creare un oggetto Graphics da un'immagine con formato pixel indicizzato". I formati di pixel indicizzati sono visualizzati nell'elenco seguente.

È possibile salvare l'immagine indicizzata come un altro formato usando il Save(String, ImageFormat) metodo e quindi recuperare un Graphics oggetto per la nuova immagine.

Questo metodo genera anche un'eccezione se l'immagine ha uno dei formati pixel seguenti.

È consigliabile chiamare sempre il Dispose metodo per rilasciare le Graphics risorse correlate e create dal FromImage metodo .

Si applica a

Vedi anche