Функция _GDIPlus_BitmapCloneArea

         Описание функции


_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