_GDIPlus_RegionCreateFromRect
Создаёт регион, который задан прямоугольником
#Include <GDIP.au3>
_GDIPlus_RegionCreateFromRect($tRectF)
Параметры
$tRectF | Структура $tagGDIPRECTF, которая определяет прямоугольник региона |
Возвращаемое значение
Успех: | Возвращает указатель на новый объект области |
Ошибка: | Возвращает 0, либо: |
Если ошибка DllCall(), устанавливает @error и @extended возвращённые вызовом DllCall() | |
$GDIP_STATUS содержит не нулевое значение кода ошибки |
Примечания
После завершения использования объекта вызовите _GDIPlus_RegionDispose, чтобы освободить ресурсы объектаСм. также
_GDIPlus_RegionDisposeСм. также
Искать GdipCreateRegionRect в библиотеке MSDNПример
; Authenticity
; http://www.autoitscript.com/forum/index.php?showtopic=106021
#include <GDIP.au3>
#include <GUIConstantsEx.au3>
_Example()
Func _Example()
Local $hGUI, $hGraphics, $hBrush, $hRegion1, $hRegion2
; Инициализирует библиотеку GDI+
_GDIPlus_Startup()
$hGUI = GUICreate("Регион из прямоугольника", 400, 300)
GUISetState()
; Создаёт графический объект из дескриптора окна
$hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGUI)
; Создаёт регионы
$hRegion1 = _GDIPlus_RegionCreateFromRect(_GDIPlus_RectFCreate(50, 50, 200, 200))
$hRegion2 = _GDIPlus_RegionCreateFromRect(_GDIPlus_RectFCreate(100, 100, 50, 50))
; Объединяет регионы с флагом 3 (XOR), исключая 2-ой из 1-ой
_GDIPlus_RegionCombineRegion($hRegion1, $hRegion2, 3)
; Создаёт кисть, чтобы заполнить внутреннее пространство региона
$hBrush = _GDIPlus_BrushCreateSolid(0xFF208080)
; Рисует заполненный регион
_GDIPlus_GraphicsFillRegion($hGraphics, $hRegion1, $hBrush)
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
; Освобождает ресурсы
_GDIPlus_BrushDispose($hBrush)
_GDIPlus_RegionDispose($hRegion2)
_GDIPlus_RegionDispose($hRegion1)
_GDIPlus_GraphicsDispose($hGraphics)
; Закрывает библиотеку GDI+
_GDIPlus_Shutdown()
EndFunc