Graphics::D rawImage(Image*,constPoint*,INT,INT,INT,INT,INT,Unit,constImageAttributes*,DrawImageAbort,VOID*)-Methode (gdiplusgraphics.h)
Die Graphics::D rawImage-Methode zeichnet ein Bild.
Syntax
Status DrawImage(
[in] Image *image,
[in] const Point *destPoints,
[in] INT count,
[in] INT srcx,
[in] INT srcy,
[in] INT srcwidth,
[in] INT srcheight,
[in] Unit srcUnit,
[in] const ImageAttributes *imageAttributes,
[in] DrawImageAbort callback,
[in] VOID *callbackData
);
Parameter
[in] image
Typ: Bild*
Zeiger auf ein Image-Objekt , das das Quellimage angibt.
[in] destPoints
Typ: const Point*
Zeiger auf ein Array von Point-Objekten , die den Bereich in einem Parallelogramm angeben, in dem das Bild gezeichnet werden soll.
[in] count
Typ: INT
Ganzzahl, die die Anzahl der Elemente im DestPoints-Array angibt.
[in] srcx
Typ: INT
Reelle Zahl, die die x-Koordinate der oberen linken Ecke des zu zeichnenden Teils des Quellbilds angibt.
[in] srcy
Typ: INT
Reelle Zahl, die die y-Koordinate der oberen linken Ecke des zu zeichnenden Teils des Quellbilds angibt.
[in] srcwidth
Typ: INT
Reelle Zahl, die die Breite des zu zeichnenden Teils des Quellbilds angibt.
[in] srcheight
Typ: INT
Reelle Zahl, die die Höhe des zu zeichnenden Teils des Quellbilds angibt.
[in] srcUnit
Typ: Einheit
Element der Unit-Enumeration , die die Maßeinheit für das Bild angibt. Der Standardwert ist UnitPixel.
[in] imageAttributes
Typ: ImageAttributes*
Zeiger auf ein ImageAttributes-Objekt , das die Farb- und Größenattribute des zu zeichnenden Bilds angibt. Der Standardwert ist NULL.
[in] callback
Typ: DrawImageAbort
Rückrufmethode, die verwendet wird, um die laufende Zeichnung abzubrechen. Der Standardwert ist NULL.
[in] callbackData
Typ: VOID*
Zeiger auf zusätzliche Daten, die von der vom Rückrufparameter angegebenen Methode verwendet werden. Der Standardwert ist NULL.
Rückgabewert
Typ: Status
Wenn die Methode erfolgreich ist, gibt sie OK zurück, ein Element der Status-Enumeration .
Wenn die Methode fehlschlägt, gibt sie eines der anderen Elemente der Status-Enumeration zurück.
Hinweise
Der Wert des count-Parameters muss gleich 3 sein, um die drei Ecken des Parallelogramms anzugeben. Die vierte Ecke des Parallelogramms wird mit den Vektoren der ersten und zweiten Koordinate sowie der ersten und dritten Koordinate berechnet. Der zu zeichnende Teil des Quellbilds wird skaliert, um dem Parallelogramm zu entsprechen.
Beispiele
Das folgende Beispiel zeichnet das ursprüngliche Quellbild und zeichnet dann einen Teil des Bilds in einem angegebenen Parallelogramm.
VOID Example_DrawImage2(HDC hdc)
{
Graphics graphics(hdc);
// Create an Image object.
Image image(L"pattern.png");
// Draw the original source image.
graphics.DrawImage(&image, 10, 10);
// Define the portion of the image to draw.
int srcX = 70;
int srcY = 20;
int srcWidth = 100;
int srcHeight = 100;
// Create an array of Point objects that specify the destination of the cropped image.
Point destPoints[3] = {
Point(230, 30),
Point(350, 50),
Point(275, 120)};
Point* pdestPoints = destPoints;
// Create an ImageAttributes object that specifies a recoloring from red to blue.
ImageAttributes remapAttributes;
ColorMap redToBlue;
redToBlue.oldColor = Color(255, 255, 0, 0);
redToBlue.newColor = Color(255, 0, 0, 255);
remapAttributes.SetRemapTable(1, &redToBlue);
// Draw the cropped image.
graphics.DrawImage(
&image,
pdestPoints,
3,
srcX,
srcY,
srcWidth,
srcHeight,
UnitPixel,
&remapAttributes,
NULL,
NULL);
}
Die folgende Abbildung zeigt die Ausgabe des vorherigen Codes.
Anforderungen
Unterstützte Mindestversion (Client) | Windows XP, Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | gdiplusgraphics.h (include Gdiplus.h) |
Bibliothek | Gdiplus.lib |
DLL | Gdiplus.dll |
Weitere Informationen
Zeichnen, Positionieren und Klonen von Bildern
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für