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.
Die Graphics Klasse bietet mehrere DrawImage Methoden, von denen einige Quell- und Zielrechteckparameter aufweisen, die Sie zum Zuschneiden und Skalieren von Bildern verwenden können.
Beispiel
Im folgenden Beispiel wird ein Image Objekt aus der Datenträgerdatei Apple.giferstellt. Der Code zeichnet das gesamte Apfelbild in seiner Originalgröße. Der Code ruft dann die DrawImage Methode eines Graphics Objekts auf, um einen Teil des Apfelbilds in einem Zielrechteck zu zeichnen, das größer als das ursprüngliche Apfelbild ist.
Die DrawImage Methode bestimmt, welcher Teil des Apfels durch Betrachten des Quellrechtecks gezeichnet werden soll, das durch das dritte, vierte, fünfte und sechste Argument angegeben wird. In diesem Fall wird der Apfel auf 75 Prozent seiner Breite zugeschnitten und 75 Prozent seiner Höhe.
Die DrawImage Methode bestimmt, wo der zugeschnittene Apfel gezeichnet werden soll und wie groß das zugeschnittene Apfel sein soll, indem man das Zielrechteck betrachtet, das durch das zweite Argument angegeben wird. In diesem Fall ist das Zielrechteck 30 Prozent breiter und 30 Prozent höher als das Originalbild.
Die folgende Abbildung zeigt den ursprünglichen Apfel und den skalierten, zugeschnittenen Apfel.
Image image = new Bitmap("Apple.gif");
// Draw the image unaltered with its upper-left corner at (0, 0).
e.Graphics.DrawImage(image, 0, 0);
// Make the destination rectangle 30 percent wider and
// 30 percent taller than the original image.
// Put the upper-left corner of the destination
// rectangle at (150, 20).
int width = image.Width;
int height = image.Height;
RectangleF destinationRect = new RectangleF(
150,
20,
1.3f * width,
1.3f * height);
// Draw a portion of the image. Scale that portion of the image
// so that it fills the destination rectangle.
RectangleF sourceRect = new RectangleF(0, 0, .75f * width, .75f * height);
e.Graphics.DrawImage(
image,
destinationRect,
sourceRect,
GraphicsUnit.Pixel);
Dim image As New Bitmap("Apple.gif")
' Draw the image unaltered with its upper-left corner at (0, 0).
e.Graphics.DrawImage(image, 0, 0)
' Make the destination rectangle 30 percent wider and
' 30 percent taller than the original image.
' Put the upper-left corner of the destination
' rectangle at (150, 20).
Dim width As Integer = image.Width
Dim height As Integer = image.Height
Dim destinationRect As New RectangleF( _
150, _
20, _
1.3F * width, _
1.3F * height)
' Draw a portion of the image. Scale that portion of the image
' so that it fills the destination rectangle.
Dim sourceRect As New RectangleF(0, 0, 0.75F * width, 0.75F * height)
e.Graphics.DrawImage( _
image, _
destinationRect, _
sourceRect, _
GraphicsUnit.Pixel)
Code kompilieren
Das vorangehende Beispiel wurde für die Verwendung mit Windows Forms entwickelt und erfordert PaintEventArgse
, bei dem es sich um einen Parameter des Paint-Ereignishandlers handelt. Stellen Sie sicher, dass Sie Apple.gif
durch einen Bilddateinamen und -pfad ersetzen, der auf Ihrem System gültig ist.
Siehe auch
.NET Desktop feedback