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 Über Quell- und Zielrechteckparameter verfügen, die Sie zum Zuschneiden und Skalieren von Bildern verwenden können.
Im folgenden Beispiel wird ein Image- -Objekt aus der Datei Apple.giferstellt. Der Code zeichnet das gesamte Apfelbild in seiner Originalgröße. Anschließend ruft der Code 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 gezeichnet werden soll, indem sie das Quellrechteck betrachtet, 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.
Mit der DrawImage--Methode wird bestimmt, wo der zugeschnittene Apfel gezeichnet werden soll und wie groß der zugeschnittene Apfel sein soll, indem man sich das Zielrechteck ansieht, das durch das zweite Argument angegeben wird. In diesem Fall ist das Zielrechteck 30 Prozent breiter und 30 Prozent höher als das Originalbild.
Image image(L"Apple.gif");
UINT width = image.GetWidth();
UINT height = image.GetHeight();
// 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).
Rect destinationRect(150, 20, 1.3 * width, 1.3 * height);
// Draw the image unaltered with its upper-left corner at (0, 0).
graphics.DrawImage(&image, 0, 0);
// Draw a portion of the image. Scale that portion of the image
// so that it fills the destination rectangle.
graphics.DrawImage(
&image,
destinationRect,
0, 0, // upper-left corner of source rectangle
0.75 * width, // width of source rectangle
0.75 * height, // height of source rectangle
UnitPixel);
Die folgende Abbildung zeigt den ursprünglichen Apfel und den skalierten, zugeschnittenen Apfel.