Condividi tramite


Disegno, posizionamento e duplicazione delle immagini in GDI+

È possibile usare la Bitmap classe per caricare e visualizzare immagini raster ed è possibile usare la Metafile classe per caricare e visualizzare immagini vettoriali. Le Bitmap classi e Metafile ereditano dalla Image classe . Per visualizzare un'immagine vettoriale, è necessaria un'istanza della Graphics classe e un oggetto Metafile. Per visualizzare un'immagine raster, è necessaria un'istanza della Graphics classe e un oggetto Bitmap. L'istanza della Graphics classe fornisce il DrawImage metodo , che riceve o MetafileBitmap come argomento.

Tipi di file e clonazione

L'esempio di codice seguente mostra come costruire un Bitmap oggetto dal file Climber.jpg e visualizza la bitmap. Il punto di destinazione per l'angolo superiore sinistro dell'immagine, (10, 10), viene specificato nei parametri secondo e terzo.

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

La figura seguente mostra l'immagine.

Image Sample

È possibile costruire Bitmap oggetti da un'ampia gamma di formati di file grafici: BMP, GIF, JPEG, EXIF, PNG, TIFF e ICON.

Nell'esempio di codice seguente viene illustrato come costruire Bitmap oggetti da un'ampia gamma di tipi di file e quindi visualizzare le bitmap.

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);
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)

La Bitmap classe fornisce un Clone metodo che è possibile usare per creare una copia di un oggetto esistente Bitmap. Il Clone metodo ha un parametro del rettangolo di origine che è possibile usare per specificare la parte della bitmap originale da copiare. Nell'esempio di codice seguente viene illustrato come creare un Bitmap oggetto clonando la metà superiore di un oggetto esistente Bitmap. Quindi vengono disegnate entrambe le immagini.

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);
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)

La figura seguente mostra le due immagini.

Cropping

Vedi anche