Zuschneiden und Skalieren GDI+ Bildern
Die Graphics-Klasse bietet mehrere DrawImage-Methoden, von denen einige Quell- und Zielrechteckparameter haben, die Sie zum Zuschneiden und Skalieren von Bildern verwenden können.
Im folgenden Beispiel wird ein Image-Objekt aus der Datei Apple.gif. Der Code zeichnet das gesamte Apple-Bild in seiner ursprünglichen Größe. Der Code ruft dann die DrawImage-Methode eines Grafikobjekts auf, um einen Teil des Apple-Bilds in einem Zielrechteck zu zeichnen, das größer als das ursprüngliche Applebild ist.
Die DrawImage-Methode bestimmt, welcher Teil des Apples ge zeichnen werden soll, indem das Quellrechteck betrachtet wird, das durch das dritte, vierte, fünfte und sechste Argument angegeben wird. In diesem Fall wird der Apple auf 75 Prozent seiner Breite und 75 Prozent seiner Höhe zugeschnitten.
Die DrawImage-Methode bestimmt, wo der zugeschnittene Apple ge zeichnen werden soll und wie groß der zugeschnittene Apple ist, indem das Zielrechteck betrachtet wird, das durch das zweite Argument angegeben wird. In diesem Fall ist das Zielrechteck 30 Prozent breiter und 30 Prozent höher als das ursprüngliche Bild.
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 Apple und den skalierten, zugeschnittenen Apple.
