Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Mit der DrawImage Methode der Graphics Klasse können Sie Vektorbilder und Rasterbilder zeichnen und positionieren. DrawImage ist eine überladene Methode, daher gibt es mehrere Möglichkeiten, ihr Argumente zu übergeben.
DrawImage-Variationen
Eine Variation der DrawImage Methode empfängt ein Bitmap und ein Rectangle. Das Rechteck gibt das Ziel für den Zeichnungsvorgang an; Das heißt, es gibt das Rechteck an, in dem das Bild gezeichnet werden soll. Wenn sich die Größe des Zielrechtecks von der Größe des ursprünglichen Bilds unterscheidet, wird das Bild so skaliert, dass es an das Zielrechteck angepasst wird. Das folgende Codebeispiel zeigt, wie Sie dasselbe Bild dreimal zeichnen: einmal ohne Skalierung, einmal mit einer Erweiterung und einmal mit einer Komprimierung:
Bitmap myBitmap = new Bitmap("Spiral.png");
Rectangle expansionRectangle = new Rectangle(135, 10,
myBitmap.Width, myBitmap.Height);
Rectangle compressionRectangle = new Rectangle(300, 10,
myBitmap.Width / 2, myBitmap.Height / 2);
myGraphics.DrawImage(myBitmap, 10, 10);
myGraphics.DrawImage(myBitmap, expansionRectangle);
myGraphics.DrawImage(myBitmap, compressionRectangle);
Dim myBitmap As New Bitmap("Spiral.png")
Dim expansionRectangle As New Rectangle(135, 10, _
myBitmap.Width, myBitmap.Height)
Dim compressionRectangle As New Rectangle(300, 10, _
CType(myBitmap.Width / 2, Integer), CType(myBitmap.Height / 2, Integer))
myGraphics.DrawImage(myBitmap, 10, 10)
myGraphics.DrawImage(myBitmap, expansionRectangle)
myGraphics.DrawImage(myBitmap, compressionRectangle)
Die folgende Abbildung zeigt die drei Bilder.
Einige Variationen der DrawImage Methode weisen einen Quellrechteckparameter sowie einen Zielrechteckparameter auf. Der Parameter "source-rectangle" gibt den Teil des zu zeichnenden Originalbilds an. Das Zielrechteck gibt das Rechteck an, in dem dieser Teil des Bilds gezeichnet werden soll. Wenn sich die Größe des Zielrechtecks von der Größe des Quellrechtecks unterscheidet, wird das Bild so skaliert, dass es an das Zielrechteck angepasst wird.
Das folgende Codebeispiel zeigt, wie Sie eine Bitmap aus der Datei Runner.jpgerstellen. Das gesamte Bild wird ohne Skalierung gezeichnet (0, 0). Dann wird ein kleiner Teil des Bilds zweimal gezeichnet: einmal mit einer Komprimierung und einmal mit einer Erweiterung.
Bitmap myBitmap = new Bitmap("Runner.jpg");
// One hand of the runner
Rectangle sourceRectangle = new Rectangle(80, 70, 80, 45);
// Compressed hand
Rectangle destRectangle1 = new Rectangle(200, 10, 20, 16);
// Expanded hand
Rectangle destRectangle2 = new Rectangle(200, 40, 200, 160);
// Draw the original image at (0, 0).
myGraphics.DrawImage(myBitmap, 0, 0);
// Draw the compressed hand.
myGraphics.DrawImage(
myBitmap, destRectangle1, sourceRectangle, GraphicsUnit.Pixel);
// Draw the expanded hand.
myGraphics.DrawImage(
myBitmap, destRectangle2, sourceRectangle, GraphicsUnit.Pixel);
Dim myBitmap As New Bitmap("Runner.jpg")
' One hand of the runner
Dim sourceRectangle As New Rectangle(80, 70, 80, 45)
' Compressed hand
Dim destRectangle1 As New Rectangle(200, 10, 20, 16)
' Expanded hand
Dim destRectangle2 As New Rectangle(200, 40, 200, 160)
' Draw the original image at (0, 0).
myGraphics.DrawImage(myBitmap, 0, 0)
' Draw the compressed hand.
myGraphics.DrawImage( _
myBitmap, destRectangle1, sourceRectangle, GraphicsUnit.Pixel)
' Draw the expanded hand.
myGraphics.DrawImage( _
myBitmap, destRectangle2, sourceRectangle, GraphicsUnit.Pixel)
Die folgende Abbildung zeigt das nicht skalierte Bild sowie die komprimierten und erweiterten Bildabschnitte.
Siehe auch
.NET Desktop feedback