Функция CopyImage

Declare Function CopyImage Lib "user32" (ByVal handle As Long, _
    ByVal imageType As Long, _
	ByVal newWidth As Long, _
	ByVal newHeight As Long, _
	ByVal lFlags As Long) As Long

CopyImage создает новое изображение (значок, курсор или картинку) и копирует атрибуты заданного изображения в новое изображение. В случае необходимости, функция растягивает биты картинки в заданные размеры нового изображения.

Возвращаемое значение

В успешном случае возвращается описатель нового созданного изображения. В случае ошибки возвращается 0 (Для получения кода ошибки используйте GetLastError.

Параметры

handle
Описатель копируемого изображения
imageType
Тип копируемого изображения
IMAGE_BITMAP = 0Растровая картинка
IMAGE_CURSORКурсор
IMAGE_ICONЗначок
newWidth
Задает желаемую ширину изображения в пикселах. Если значение равно 0, то сохраняется размер оригинала
newHeight
Задает желаемую высоту изображения в пикселах. Если значение равно 0, то сохраняется размер оригинала
lFlags
Комбинация различных флагов
LR_COPYDELETEORGПосле создания копии его оригинал удаляется
LR_COPYFROMRESOURCEПопытка повторной загрузки значка или курсора из оригинального файла ресурсов вместо обычного копирования изображения. Полезно при создании копий разных размеров, если файл ресурсов содержит рисунок нескольких размеров. Без этого флага CopyImage растягивает оригинал до новых размеров. При установке данного флага CopyImage использует размер в ресурсе, наиболее близкий к устанавливаемым размерам. Применяется при использовании hImage, который загружается через LoadIcon, LoadCursor или LoadImage с флагом LR_SHARED
LR_COPYRETURNORG = &H4Returns the original hImage if it satisfies the criteria for the copy—that is, correct dimensions and color depth—in which case the LR_COPYDELETEORG flag is ignored. If this flag is not specified, a new object is always created
LR_CREATEDIBSECTIONIf this is set and a new bitmap is created, the bitmap is created as a DIB section. Otherwise, the bitmap image is created as a device-dependent bitmap. This flag is only valid if uType is IMAGE_BITMAP
LR_MONOCHROME = &H1Создает новый монохромный рисунок

Замечания

При завершении использования ресурса можно освободить занимаемую им память с помощью следующих функций

РесурсВыгружающая функция
ИзображениеDeleteObject
КурсорDestroyCursor
ЗначокDestroyIcon

Система автоматически выгружает эти ресурсы при завершении загрузившего их процесса, однако, использование указанных функций экономит память и адресное пространство процесса.

Пример

Смотри пример clipboard.zip

Смотри также

LoadImage

Категория

Графика

Реклама