Condividi tramite


Graphics.FromImage(Image) Metodo

Definizione

Crea un nuovo Graphics dal Imagespecificato.

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 Graphics.

Restituisce

Questo metodo restituisce un nuovo Graphics per il Imagespecificato.

Eccezioni

image è null.

image ha un formato pixel indicizzato o il relativo formato non è definito.

Esempio

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

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

  • Crea un Graphics dal Image.

  • Modifica l'immagine riempiendo un rettangolo al suo interno.

  • Disegna il Image sullo schermo.

  • Rilascia il Graphicscreato.

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 "Non è possibile creare un oggetto Graphics da un'immagine con un formato pixel indicizzato". I formati di pixel indicizzati sono visualizzati nell'elenco seguente.

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

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

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

Si applica a

Vedi anche