Graphics.FromImage(Image) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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.
Altera a imagem preenchendo um retângulo dentro dela.
Desenha o Image para a tela.
Libera o Graphicscriado.
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 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.