Zeichnen, Positionieren und Klonen von Bildern in GDI+

Zum Laden und Anzeigen von Rasterbildern verwenden Sie die Bitmap-Klasse und zum Laden und Anzeigen von Vektorbildern die Metafile-Klasse. Die Klassen Bitmap und Metafile erben von der Image-Klasse. Zum Anzeigen eines Vektorbildes benötigen Sie eine Instanz der Graphics-Klasse und Metafile. Zum Anzeigen eines Rasterbildes benötigen Sie eine Instanz der Graphics-Klasse und Bitmap. Die Instanz der Graphics-Klasse stellt die DrawImage-Methode bereit, die Metafile oder Bitmap als Argument erhält.

Dateitypen und Klonen

Das folgende Codebeispiel veranschaulicht, wie Sie aus der Datei Climber.jpg eine Bitmap erstellen und die Bitmap anzeigen. Der Zielpunkt (10, 10) für die linke obere Ecke des Bildes wird im zweiten und dritten Parameter angegeben.

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

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

Die folgende Abbildung zeigt dieses Bild.

Beispiel für Bilder

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

Im folgenden Codebeispiel wird die Erstellung von Bitmap-Objekten aus einer Vielzahl von Dateitypen sowie die Anzeige der Bitmaps veranschaulicht.

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

Die Bitmap-Klasse stellt eine Clone-Methode bereit, mit der Sie eine Kopie eines vorhandenen Bitmap-Objekts erstellen können. Die Clone-Methode weist einen Parameter für ein Quellrechteck auf, mit dem Sie den Teil der ursprünglichen Bitmap angeben können, der kopiert werden soll. Im folgenden Codebeispiel wird veranschaulicht, wie Sie ein Bitmap-Objekt erstellen, indem Sie die obere Hälfte eines vorhandenen Bitmap-Objekts klonen. Anschließend werden beide Bilder gezeichnet.

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

Die folgende Abbildung zeigt die beiden Bilder.

Zuschneiden

Siehe auch

Aufgaben

Gewusst wie: Erstellen von Graphics-Objekten zum Zeichnen

Weitere Ressourcen

Bilder, Bitmaps und Metadateien

Arbeiten mit Bildern, Bitmaps, Symbolen und Metadateien