CopyImage 함수(winuser.h)
새 이미지(아이콘, 커서 또는 비트맵)를 만들고 지정된 이미지의 특성을 새 이미지에 복사합니다. 필요한 경우 함수는 새 이미지의 원하는 크기에 맞게 비트를 늘립니다.
구문
HANDLE CopyImage(
[in] HANDLE h,
[in] UINT type,
[in] int cx,
[in] int cy,
[in] UINT flags
);
매개 변수
[in] h
형식: HANDLE
복사할 이미지에 대한 핸들입니다.
[in] type
형식: UINT
복사할 이미지의 형식입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
|
비트맵을 복사합니다. |
|
커서를 복사합니다. |
|
아이콘을 복사합니다. |
[in] cx
형식: int
이미지의 원하는 너비(픽셀)입니다. 이 값이 0이면 반환된 이미지의 너비가 원래 hImage와 동일합니다.
[in] cy
형식: int
이미지의 원하는 높이(픽셀)입니다. 이 값이 0이면 반환된 이미지의 높이가 원래 hImage와 동일합니다.
[in] flags
형식: UINT
이 매개 변수는 다음 값 중 하나 이상일 수 있습니다.
값 | 의미 |
---|---|
|
복사본을 만든 후 원본 이미지를 삭제합니다. |
|
단순히 현재 이미지를 복사하는 대신 원래 리소스 파일에서 아이콘 또는 커서 리소스를 다시 로드하려고 시도합니다. 리소스 파일에 리소스의 여러 크기가 포함된 경우 다른 크기의 복사본을 만드는 데 유용합니다. 이 플래그가 없으면 CopyImage 는 원래 이미지를 새 크기로 늘입니다. 이 플래그가 설정되면 CopyImage 는 원하는 크기에 가장 가까운 리소스 파일의 크기를 사용합니다. hImage가 LoadIcon 또는 LoadCursor에서 로드되었거나 LR_SHARED 플래그가 있는 LoadImage에 의해 로드된 경우에만 성공합니다. |
|
원본 hImage 가 복사본의 조건(즉, 올바른 차원 및 색 깊이)을 충족하는 경우 반환합니다. 이 경우 LR_COPYDELETEORG 플래그는 무시됩니다. 이 플래그를 지정하지 않으면 항상 새 개체가 만들어집니다. |
|
이 설정이 설정되고 새 비트맵이 만들어지면 비트맵이 DIB 섹션으로 만들어집니다. 그렇지 않으면 비트맵 이미지가 디바이스 종속 비트맵으로 만들어집니다. 이 플래그는 uType 이 IMAGE_BITMAP 경우에만 유효합니다. |
|
기본 색 형식을 사용합니다. |
|
cxDesired 또는 cyDesired 값이 0으로 설정된 경우 커서 또는 아이콘에 대한 시스템 메트릭 값으로 지정된 너비 또는 높이를 사용합니다. 이 플래그를 지정하지 않고 cxDesired 및 cyDesired 가 0으로 설정된 경우 함수는 실제 리소스 크기를 사용합니다. 리소스에 여러 이미지가 포함된 경우 함수는 첫 번째 이미지의 크기를 사용합니다. |
|
새 단색 이미지를 만듭니다. |
반환 값
형식: HANDLE
함수가 성공하면 반환 값은 새로 만든 이미지에 대한 핸들입니다.
함수가 실패하면 반환 값은 NULL입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.
설명
리소스 사용을 마치면 다음 표의 함수 중 하나를 호출하여 연결된 메모리를 해제할 수 있습니다.
리소스 | 릴리스 함수 |
---|---|
Bitmap | DeleteObject |
커서 | DestroyCursor |
아이콘 | DestroyIcon |
그러나 시스템이 프로세스가 종료되면 리소스를 자동으로 삭제합니다. 그러나 적절한 함수를 호출하면 메모리가 절약되고 프로세스의 작업 집합 크기가 줄어듭니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | winuser.h(Windows.h 포함) |
라이브러리 | User32.lib |
DLL | User32.dll |
API 세트 | ext-ms-win-ntuser-gui-l1-3-0(Windows 10 버전 10.0.10240에 도입됨) |
추가 정보
개념
참조