Graphics.FromImage(Image) Método

Definición

Crea un nuevo Graphics con la Image especificada.

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

Parámetros

image
Image

Image a partir de la cual se va a crear el nuevo Graphics.

Devoluciones

Este método devuelve un nuevo objeto Graphics para la Image especificada.

Excepciones

image es null.

image tiene un formato de píxel indizado o su formato no está definido.

Ejemplos

El ejemplo de código siguiente está diseñado para su uso con Windows Forms y requiere PaintEventArgse, que es un parámetro del Paint controlador de eventos. El código realiza la siguiente acción:

  • Crea un Image objeto a partir de un archivo de gráficos SampImag.jpg en la carpeta de ejemplo.

  • Crea un Graphics objeto a partir de Image.

  • Modifica la imagen rellenando un rectángulo dentro de ella.

  • Dibuja en Image la pantalla.

  • Libera el objeto creado 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

Comentarios

Si la imagen tiene un formato de píxel indizado, este método produce una excepción con el mensaje "No se puede crear un objeto Graphics a partir de una imagen que tenga un formato de píxel indizado". Los formatos de píxeles indexados se muestran en la lista siguiente.

Puede guardar la imagen indizada como otro formato mediante el Save(String, ImageFormat) método y, a continuación, recuperar un Graphics objeto para la nueva imagen.

Este método también produce una excepción si la imagen tiene cualquiera de los formatos de píxel siguientes.

Siempre debe llamar al Dispose método para liberar los Graphics recursos relacionados y creados por el FromImage método .

Se aplica a

Consulte también