Compartilhar via


Desenho, posicionamento e clonagem imagens no GDI +

Você pode usar o Bitmap classe para carregar e exibir imagens rasterizadas e você pode usar o Metafile classe para carregar e exibir imagens de vetor. The Bitmap e Metafile classes herdam o Image classe. Para exibir uma imagem de vetor, é preciso uma instância do Graphics classe e um Metafile. Para exibir uma imagem rasterizada, é preciso uma instância do Graphics classe e um Bitmap. A instância do Graphics classe fornece o DrawImage método, que recebe o Metafile ou Bitmap sistema autônomo um argumento.

Tipos de arquivo e clonagem

O exemplo de código a seguir mostra como construir um Bitmap do arquivo Climber.jpg e exibe o bitmap. O ponto de destino para o canto superior esquerdo da imagem, (10, 10) especificado nos parâmetros do segundo e terceiro.

Dim myBitmap As New Bitmap("Climber.jpg")
myGraphics.DrawImage(myBitmap, 10, 10)

Bitmap myBitmap = new Bitmap("Climber.jpg");
myGraphics.DrawImage(myBitmap, 10, 10);

A ilustração a seguir mostra a imagem.

Você pode construir Bitmap objetos de uma variedade de formatos de arquivo gráfico: BMP, GIF, JPEG, EXIF, PNG, TIFF e ícone.

O exemplo de código a seguir mostra como construir Bitmap objetos de uma variedade de tipos de arquivo e, em seguida, exibe os bitmaps.

Dim myBMP As New Bitmap("SpaceCadet.bmp")
Dim myGIF As New Bitmap("Soda.gif")
Dim myJPEG As New Bitmap("Mango.jpg")
Dim myPNG As New Bitmap("Flowers.png")
Dim myTIFF As New Bitmap("MS.tif")

myGraphics.DrawImage(myBMP, 10, 10)
myGraphics.DrawImage(myGIF, 220, 10)
myGraphics.DrawImage(myJPEG, 280, 10)
myGraphics.DrawImage(myPNG, 150, 200)
myGraphics.DrawImage(myTIFF, 300, 200)

Bitmap myBMP = new Bitmap("SpaceCadet.bmp");
Bitmap myGIF = new Bitmap("Soda.gif");
Bitmap myJPEG = new Bitmap("Mango.jpg");
Bitmap myPNG = new Bitmap("Flowers.png");
Bitmap myTIFF = new Bitmap("MS.tif");

myGraphics.DrawImage(myBMP, 10, 10);
myGraphics.DrawImage(myGIF, 220, 10);
myGraphics.DrawImage(myJPEG, 280, 10);
myGraphics.DrawImage(myPNG, 150, 200);
myGraphics.DrawImage(myTIFF, 300, 200);

The Bitmap classe fornece uma Clone método que você pode usar para fazer uma cópia de um existente Bitmap. The Clone método tem um parâmetro de retângulo de fonte que você pode usar para especificar a parte do bitmap original que você deseja copiar. O exemplo de código a seguir mostra como criar um Bitmap clonando a metade superior de um existente Bitmap. Em seguida, as duas imagens são desenhadas.

Dim originalBitmap As New Bitmap("Spiral.png")
Dim sourceRectangle As New Rectangle(0, 0, originalBitmap.Width, _
   CType(originalBitmap.Height / 2, Integer))

Dim secondBitmap As Bitmap = originalBitmap.Clone(sourceRectangle, _
   PixelFormat.DontCare)

myGraphics.DrawImage(originalBitmap, 10, 10)
myGraphics.DrawImage(secondBitmap, 150, 10)

Bitmap originalBitmap = new Bitmap("Spiral.png");
Rectangle sourceRectangle = new Rectangle(0, 0, originalBitmap.Width,
   originalBitmap.Height / 2);

Bitmap secondBitmap = originalBitmap.Clone(sourceRectangle,
   PixelFormat.DontCare);

myGraphics.DrawImage(originalBitmap, 10, 10);
myGraphics.DrawImage(secondBitmap, 150, 10);

A ilustração a seguir mostra duas imagens.

Consulte também

Tarefas

Como: Criar objetos gráficos para desenho

Outros recursos

Imagens, Bitmaps e metarquivos

Trabalhando com imagens, Bitmaps, ícones e metarquivos