Graphics.FromImage(Image) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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.
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.