Ler em inglês

Partilhar via


Graphics.FromImage(Image) Método

Definição

Cria um novo Graphics do Imageespecificado.

C#
public static System.Drawing.Graphics FromImage(System.Drawing.Image image);

Parâmetros

image
Image

Image do qual criar o novo Graphics.

Retornos

Esse método retorna um novo Graphics para o Imageespecificado.

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 o Windows Forms e requer PaintEventArgse, que é um parâmetro do manipulador de eventos Paint. 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 Graphicscriado.

C#
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();
}

Comentários

Se a imagem tiver um formato de pixel indexado, esse método gerará uma exceção com a mensagem" "Um objeto Gráfico 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 método Save(String, ImageFormat) e, em seguida, recuperar um objeto Graphics 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 método Dispose para liberar o Graphics e os recursos relacionados criados pelo método FromImage.

Aplica-se a

Produto Versões
.NET 8 (package-provided), 9 (package-provided), 10 (package-provided)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided)
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

Confira também