Zeichnen, Positionieren und Klonen von Bildern in GDI+

Sie können die Klasse Bitmap verwenden, um Rasterbilder zu laden und anzuzeigen, und mit der Klasse Metafile können Sie Vektorbilder laden und anzeigen. Die Klassen Bitmap und Metafile erben von der Klasse Image. Um ein Vektorbild anzuzeigen, benötigen Sie eine Instanz der Klasse Graphics und eine Metafile. Um ein Rasterbild anzuzeigen, benötigen Sie eine Instanz der Klasse Graphics und eine Bitmap. Die Instanz der Graphics-Klasse stellt die DrawImage-Methode zur Verfügung, die Metafile oder Bitmap als Argument erhält.

Dateitypen und Klonerstellung

Das folgende Codebeispiel zeigt, wie eine Bitmap aus der Datei „Climber.jpg“ erstellt wird und zeigt die Bitmap an. Der Zielpunkt für die obere linke Bildecke, (10, 10), wird im zweiten und dritten Parameter angegeben.

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

Die folgende Abbildung zeigt das Bild.

Image Sample

Sie können Bitmap-Objekte aus einer Vielzahl von Grafikdateiformaten erstellen: BMP, GIF, JPEG, EXIF, PNG, TIFF und ICON.

Das folgende Codebeispiel zeigt, wie Sie Bitmap-Objekte aus einer Vielzahl von Dateitypen erstellen und dann die Bitmaps anzeigen.

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)

Die Klasse Bitmap bietet eine Clone-Methode, mit der Sie eine Kopie einer vorhandenen Bitmap erstellen können. Die Clone-Methode verfügt über einen Quellrechteckparameter, den Sie verwenden können, um den Teil der ursprünglichen Bitmap anzugeben, die Sie kopieren möchten. Das folgende Codebeispiel zeigt, wie Sie eine Bitmap erstellen, indem Sie die obere Hälfte einer vorhandenen Bitmap klonen. Dann werden beide Bilder gezeichnet.

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)

Die folgende Abbildung zeigt die beiden Bilder.

Cropping

Siehe auch