Desenho, posicionamento e a clonagem de imagens em 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. O Bitmap e Metafile classes herdam a Image classe. Para exibir uma imagem de vetor, você precisa de uma instância de Graphics classe e um Metafile. Para exibir uma imagem rasterizada, você precisa de uma instância de Graphics classe e um Bitmap. A instância da Graphics classe fornece o DrawImage método, que recebe o Metafile ou Bitmap como um argumento.

Tipos de arquivo e a 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 no segundo e terceiro parâmetros.

        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.

Exemplo de imagem

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

O exemplo de código a seguir mostra como construir Bitmap os 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);

O Bitmap classe fornece uma Clone método que você pode usar para fazer uma cópia de uma existente Bitmap. O Clone método tem um parâmetro do retângulo de origem 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 por meio da clonagem a metade superior de uma 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.

Corte

Consulte também

Tarefas

Como: Criar objetos gráficos para desenho

Outros recursos

Imagens, Bitmaps e metarquivos

Trabalhando com imagens, Bitmaps, ícones e metarquivos