Graphics.FromImage(Image) Metodo

Definizione

Crea un nuovo Graphics oggetto dall'oggetto specificato Image.

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

Valori restituiti

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

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 Forms e richiede PaintEventArgse, che è un parametro del gestore eventi Paint. Il codice esegue l'azione seguente:

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

  • Crea un oggetto Graphics da Image.

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

  • 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 "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 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.

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

Si applica a

Vedi anche