_GDIPlus_BitmapCloneArea
Создаёт копию объекта Bitmap используя указанные координаты и формат
#include <GDIPlus.au3>
_GDIPlus_BitmapCloneArea($hBmp, $iLeft, $iTop, $iWidth, $iHeight [, $iFormat = 0x00021808])
Параметры
$hBmp | Дескриптор объекта Bitmap |
$iLeft |
X координата левого верхнего угла копируемого прямоугольника |
$iTop |
Y координата левого верхнего угла копируемого прямоугольника |
$iWidth |
Ширина прямоугольника, определяющая копируемую часть bitmap |
$iHeight |
Высота прямоугольника, определяющая копируемую часть bitmap |
$iFormat |
[необязательный] Пиксельный формат нового изображения: $GDIP_PXF01INDEXED = 1 бит на пиксель, индексированный $GDIP_PXF04INDEXED = 4 бит на пиксель, индексированный $GDIP_PXF08INDEXED = 8 бит на пиксель, индексированный $GDIP_PXF16GRAYSCALE = 16 бит на пиксель, градации серого $GDIP_PXF16RGB555 = 16 бит на пиксель; 5 бит на каждый цвет RGB $GDIP_PXF16RGB565 = 16 бит на пиксель; 5 бит для красного, 6 бит для зеленого и 5 бит для синего $GDIP_PXF16ARGB1555 = 16 бит на пиксель; 1 бит для альфа канала и 5 бит на каждый цвет RGB $GDIP_PXF24RGB = 24 бит на пиксель; 8 бит на каждый цвет RGB $GDIP_PXF32RGB = 32 бит на пиксель; 8 бит на каждый цвет RGB. Без альфа канала (прозрачности). $GDIP_PXF32ARGB = 32 бит на пиксель; 8 бит на каждый цвет RGB и альфа канал $GDIP_PXF32PARGB = 32 бит на пиксель; 8 бит на каждый цвет RGB и альфа канал, предварительно умноженный $GDIP_PXF48RGB = 48 бит на пиксель; 16 бит на каждый цвет RGB $GDIP_PXF64ARGB = 64 бит на пиксель; 16 бит на каждый цвет RGB и альфа канал $GDIP_PXF64PARGB = 64 бит на пиксель; 16 бит на каждый цвет RGB и альфа канал, предварительно умноженный |
Возвращаемое значение
Успех: | Возвращает дескриптор нового объекта Bitmap |
Ошибка: | Возвращает 0 |
Примечания
При завершении использования объекта Bitmap, необходимо вызвать функцию _WinAPI_DeleteObject, чтобы освободить ресурсы.См. также
_GDIPlus_BitmapDispose, _GDIPlus_ImageGetPixelFormatСм. также
Искать GdipCloneBitmapAreaI в библиотеке MSDNПример
#include <GDIPlus.au3>
#include <ScreenCapture.au3>
_Main()
Func _Main()
Local $hBitmap, $hClone, $hImage, $iX, $iY
; Инициализация библиотеки GDI+
_GDIPlus_StartUp ()
; Capture 32 bit bitmap
$hBitmap = _ScreenCapture_Capture ("")
$hImage = _GDIPlus_BitmapCreateFromHBITMAP ($hBitmap)
; Create 24 bit bitmap clone
$iX = _GDIPlus_ImageGetWidth ($hImage)
$iY = _GDIPlus_ImageGetHeight ($hImage)
$hClone = _GDIPlus_BitmapCloneArea ($hImage, 0, 0, $iX, $iY, $GDIP_PXF24RGB)
; Save bitmap to file
_GDIPlus_ImageSaveToFile ($hClone, @MyDocumentsDir & "\GDIPlus_Image.bmp")
; Очищает ресурсы
_GDIPlus_ImageDispose ($hClone)
_GDIPlus_ImageDispose ($hImage)
_WinAPI_DeleteObject ($hBitmap)
; Закрывает библиотеку GDI+
_GDIPlus_ShutDown ()
EndFunc ;==>_Main