Graphics.FromImage(Image) Método

Definição

Cria um novo Graphics com base no Image especificado.

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

O Image por meio do qual o novo Graphics será criado.

Retornos

Esse método retorna um novo Graphics para o Image especificado.

Exceções

image é null.

image tem um formato de pixel indexado ou seu formato é indefinido.

Exemplos

O exemplo de código a seguir foi projetado para uso com Windows Forms e requer PaintEventArgse, que é um parâmetro do Paint manipulador de eventos. O código executa a seguinte ação:

  • Cria um Image de um arquivo gráfico SampImag.jpg na pasta de exemplo.

  • Cria um Graphics do Image.

  • Altera a imagem preenchendo um retângulo dentro dela.

  • Desenha o Image para a tela.

  • Libera o criado 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

Comentários

Se a imagem tiver um formato de pixel indexado, esse método gerará uma exceção com a mensagem "Um objeto Graphics não pode ser criado a partir de uma imagem que tenha um formato de pixel indexado". Os formatos de pixel indexados são mostrados na lista a seguir.

Você pode salvar a imagem indexada como outro formato usando o Save(String, ImageFormat) método e, em seguida, recuperar um Graphics objeto para a nova imagem.

Esse método também gerará uma exceção se a imagem tiver qualquer um dos seguintes formatos de pixel.

Você sempre deve chamar o Dispose método para liberar os Graphics recursos relacionados e criados pelo FromImage método .

Aplica-se a

Confira também