Graphics.FromImage(Image) Método

Definición

Crea un nuevo Graphics a partir del Imageespecificado.

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 desde el que se va a crear el nuevo Graphics.

Devoluciones

Este método devuelve un nuevo Graphics para el Imageespecificado.

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 controlador de eventos Paint. El código realiza la siguiente acción:

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

  • Crea un Graphics a partir del Image.

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

  • Dibuja el Image en la pantalla.

  • Libera el Graphicscreado.

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 indizado se muestran en la lista siguiente.

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

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

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

Se aplica a

Consulte también