Disegno, posizionamento e duplicazione delle immagini

È possibile utilizzare la classe Bitmap per caricare e visualizzare immagini raster e utilizzare la classe Metafile per caricare e visualizzare immagini vettoriali. Le classi Bitmap e Metafile ereditano dalla classe Image. Per visualizzare un'immagine vettoriale, sono necessari un oggetto Graphics e un oggetto Metafile. Per visualizzare un'immagine raster, sono necessari un oggetto Graphics e un oggetto Bitmap. Nell'oggetto Graphics è disponibile il metodo DrawImage, che riceve l'oggetto Metafile o Bitmap come argomento.

L'esempio seguente consente di creare un oggetto Bitmap dal file Climber.jpg e di visualizzare la bitmap. Il punto di destinazione per l'angolo superiore sinistro dell'immagine, (10, 10), è specificato nel secondo e nel terzo parametro.

Dim myBitmap As New Bitmap("Climber.jpg")
myGraphics.DrawImage(myBitmap, 10, 10)
[C#]
Bitmap myBitmap = new Bitmap("Climber.jpg");
myGraphics.DrawImage(myBitmap, 10, 10);

Di seguito viene mostrata l'immagine.

È possibile creare oggetti Bitmap utilizzando una vasta gamma di formati di file grafici: BMP, GIF, JPEG, EXIF, PNG, TIFF e ICON.

L'esempio seguente consente di creare oggetti Bitmap utilizzando svariati tipi di file e di visualizzare le bitmap.

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)
[C#]
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);

Nella classe Bitmap è disponibile il metodo Clone, che consente la creazione di una copia di un oggetto Bitmap esistente. Nel metodo Clone è presente un parametro relativo al rettangolo di origine, che consente di specificare la porzione della bitmap originale che si desidera copiare. L'esempio seguente consente di creare un oggetto Bitmap tramite la duplicazione della metà superiore di un oggetto Bitmap esistente. Vengono quindi tracciate entrambe le immagini.

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

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

myGraphics.DrawImage(originalBitmap, 10, 10)
myGraphics.DrawImage(secondBitmap, 150, 10)
[C#]
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);

Di seguito vengono mostrate le due immagini.