Partage via


Graphics.FromImage(Image) Méthode

Définition

Crée une Graphics à partir de la Imagespécifiée.

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

Paramètres

image
Image

Image à partir duquel créer la nouvelle Graphics.

Retours

Cette méthode retourne une nouvelle Graphics pour la Imagespécifiée.

Exceptions

image est null.

image a un format de pixel indexé ou son format n’est pas défini.

Exemples

L’exemple de code suivant est conçu pour être utilisé avec Windows Forms et nécessite PaintEventArgse, qui est un paramètre du gestionnaire d’événements Paint. Le code effectue l’action suivante :

  • Crée un Image à partir d’un fichier graphique SampImag.jpg dans l’exemple de dossier.

  • Crée un Graphics à partir du Image.

  • Modifie l’image en remplissant un rectangle dans celui-ci.

  • Dessine le Image à l’écran.

  • Libère le Graphicscréé.

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

Remarques

Si l’image a un format de pixel indexé, cette méthode lève une exception avec le message « Un objet Graphics ne peut pas être créé à partir d’une image ayant un format de pixel indexé ». Les formats de pixels indexés sont affichés dans la liste suivante.

Vous pouvez enregistrer l’image indexée sous la forme d’un autre format à l’aide de la méthode Save(String, ImageFormat), puis récupérer un objet Graphics pour la nouvelle image.

Cette méthode lève également une exception si l’image a l’un des formats de pixels suivants.

Vous devez toujours appeler la méthode Dispose pour libérer les Graphics et les ressources associées créées par la méthode FromImage.

S’applique à

Voir aussi