_GDIPlus_CachedBitmapCreate
Создаёт объект CachedBitmap на основе Bitmap и Graphics объектов
#Include <GDIP.au3>
_GDIPlus_CachedBitmapCreate($hBitmap, $hGraphics)
Параметры
$hBitmap | Указатель на объект Bitmap, содержащий данные пикселов для оптимизации |
$hGraphics |
Указатель на объект Graphics, связанный с устройством отображения, изображение которого будет оптимизировано |
Возвращаемое значение
Успех: | Возвращает дескриптор нового объекта CachedBitmap |
Ошибка: | Возвращает 0, либо: |
Если ошибка DllCall(), устанавливает @error и @extended возвращённые вызовом DllCall() | |
$GDIP_STATUS содержит не нулевое значение кода ошибки |
Примечания
После завершения использования объекта вызовите _GDIPlus_ImageDispose, чтобы освободить ресурсы объекта.См. также
_GDIPlus_CachedBitmapDispose, _GDIPlus_GraphicsDrawCachedBitmapПример
; Authenticity
; http://www.autoitscript.com/forum/index.php?showtopic=106021
#include <GDIP.au3>
#include <GUIConstantsEx.au3>
#include <ScreenCapture.au3>
_Example()
Func _Example()
Local $hGUI, $hGraphics, $hBmp, $hBitmap, $hCachedBitmap
; Инициализирует библиотеку GDI+
_GDIPlus_Startup()
; Создаёт GUI (нажмите ESC для выхода)
$hGUI = GUICreate("Создаёт кэшированный bitmap", @DesktopWidth / 2, @DesktopHeight / 2)
; Создаёт графический объект из дескриптора окна
$hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGUI)
; Делает снимок левой верхней части экрана
$hBmp = _ScreenCapture_Capture("", 0, 0, @DesktopWidth / 2, @DesktopHeight / 2, False)
; Создаёт объект GDI+ Bitmap из объекта GDI Bitmap
$hBitmap = _GDIPlus_BitmapCreateFromHBITMAP($hBmp)
; Создаёт кэшированный bitmap из существующего bitmap и graphics объектов
$hCachedBitmap = _GDIPlus_CachedBitmapCreate($hBitmap, $hGraphics)
GUISetState()
; Теперь рисует кэшированный bitmap
_GDIPlus_GraphicsDrawCachedBitmap($hGraphics, $hCachedBitmap, 0, 0)
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
; Освобождает ресурсы
_GDIPlus_CachedBitmapDispose($hCachedBitmap)
_GDIPlus_ImageDispose($hBitmap)
_WinAPI_DeleteObject($hBmp)
_GDIPlus_GraphicsDispose($hGraphics)
; Закрывает библиотеку GDI+
_GDIPlus_Shutdown()
EndFunc ;==>_Example