Freigeben über


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
IMAGE_BITMAP
0
Kopiert eine Bitmap.
IMAGE_CURSOR
2
Kopiert einen Cursor.
IMAGE_ICON
1
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
LR_COPYDELETEORG
0x00000008
Löscht das ursprüngliche Image nach dem Erstellen der Kopie.
LR_COPYFROMRESOURCE
0x00004000
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.
LR_COPYRETURNORG
0x00000004
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.
LR_CREATEDIBSECTION
0x00002000
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.
LR_DEFAULTCOLOR
0x00000000
Verwendet das Standardfarbformat.
LR_DEFAULTSIZE
0x00000040
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.
LR_MONOCHROME
0x00000001
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

Loadimage

Referenz

Ressourcen