CopyImage-Funktion (winuser.h)
Erstellt ein neues Bild (Symbol, Cursor oder Bitmap) und kopiert die Attribute des angegebenen Bilds in das neue Bild. Bei Bedarf dehnt die Funktion die Bits so, dass sie der gewünschten Größe des neuen Bilds entsprechen.
Syntax
HANDLE CopyImage(
[in] HANDLE h,
[in] UINT type,
[in] int cx,
[in] int cy,
[in] UINT flags
);
Parameter
[in] h
Typ: HANDLE
Ein Handle für das zu kopierende Bild.
[in] type
Typ: UINT
Der Typ des zu kopierenden Bilds. Dieser Parameter kann einen der folgenden Werte annehmen.
Wert | Bedeutung |
---|---|
|
Kopiert eine Bitmap. |
|
Kopiert einen Cursor. |
|
Kopiert ein Symbol. |
[in] cx
Typ: int
Die gewünschte Breite des Bilds in Pixel. Wenn dies null ist, hat das zurückgegebene Bild die gleiche Breite wie das ursprüngliche hImage.
[in] cy
Typ: int
Die gewünschte Höhe des Bilds in Pixel. Wenn dies 0 ist, hat das zurückgegebene Bild die gleiche Höhe wie das ursprüngliche hImage.
[in] flags
Typ: UINT
Dieser Parameter kann einen oder mehrere der folgenden Werte aufweisen.
Wert | Bedeutung |
---|---|
|
Löscht das ursprüngliche Image nach dem Erstellen der Kopie. |
|
Versucht, ein Symbol oder eine Cursorressource aus der ursprünglichen Ressourcendatei neu zu laden, anstatt einfach das aktuelle Bild zu kopieren. Dies ist nützlich, um eine Kopie unterschiedlicher Größe zu erstellen, wenn die Ressourcendatei mehrere Ressourcengrößen enthält. Ohne dieses Flag streckt CopyImage das ursprüngliche Bild auf die neue Größe aus. Wenn dieses Flag festgelegt ist, verwendet CopyImage die Größe in der Ressourcendatei, die der gewünschten Größe am nächsten kommt. Dies ist nur erfolgreich, wenn hImage von LoadIcon oder LoadCursor oder von LoadImage mit dem LR_SHARED-Flag geladen wurde. |
|
Gibt das ursprüngliche hImage zurück, wenn es die Kriterien für die Kopie erfüllt, d. h. richtige Dimensionen und Farbtiefe, wobei das LR_COPYDELETEORG-Flag ignoriert wird. Wenn dieses Flag nicht angegeben ist, wird immer ein neues Objekt erstellt. |
|
Wenn dies festgelegt ist und eine neue Bitmap erstellt wird, wird die Bitmap als DIB-Abschnitt erstellt. Andernfalls wird das Bitmapbild als geräteabhängige Bitmap erstellt. Dieses Flag ist nur gültig, wenn uTypeIMAGE_BITMAP ist. |
|
Verwendet das Standardfarbformat. |
|
Verwendet die Breite oder Höhe, die durch die Systemmetrikwerte für Cursor oder Symbole angegeben wird, wenn die Werte cxDesired oder cyDesired auf 0 festgelegt sind. Wenn dieses Flag nicht angegeben ist und cxDesired und cyDesired auf Null festgelegt sind, verwendet die Funktion die tatsächliche Ressourcengröße. Wenn die Ressource mehrere Bilder enthält, verwendet die Funktion die Größe des ersten Bilds. |
|
Erstellt ein neues monochromes Bild. |
Rückgabewert
Typ: HANDLE
Wenn die Funktion erfolgreich ist, ist der Rückgabewert das Handle für das neu erstellte Image.
Wenn bei der Funktion ein Fehler auftritt, ist der Rückgabewert NULL. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Hinweise
Wenn Sie mit der Verwendung der Ressource fertig sind, können Sie den zugeordneten Arbeitsspeicher freigeben, indem Sie eine der Funktionen in der folgenden Tabelle aufrufen.
Resource | Release-Funktion |
---|---|
Bitmap | DeleteObject |
Cursor | DestroyCursor |
Symbol | DestroyIcon |
Das System löscht die Ressource automatisch, wenn ihr Prozess beendet wird. Beim Aufrufen der entsprechenden Funktion wird jedoch Arbeitsspeicher gespart und die Größe des Arbeitssatzes des Prozesses verringert.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | winuser.h (einschließlich Windows.h) |
Bibliothek | User32.lib |
DLL | User32.dll |
APIs | ext-ms-win-ntuser-gui-l1-3-0 (eingeführt in Windows 10, Version 10.0.10240) |
Siehe auch
Konzept
Referenz