_GDIPlus_LineBrushCreateFromRectWithAngle
Создаёт объект кисть с линейным градиентом из прямоугольника, граничных цветов и угла направления
#Include <GDIP.au3>
_GDIPlus_LineBrushCreateFromRectWithAngle($tRectF, $iARGBClr1, $iARGBClr2, $nAngle[, $fIsAngleScalable = True[, $iWrapMode = 0]])
Параметры
$tRectF | Структура $tagGDIPRECTF, определяющая прямоугольник для кисти линейного градиента |
$iARGBClr1 |
Цвет начала градиента (альфа-канал, красный, зелёный, синий) |
$iARGBClr2 |
Цвет конца градиента (альфа-канал, красный, зелёный, синий) |
$nAngle |
Угол, в градусах. Зависит от значения $fIsAngleScalable (см. примечания) |
$fIsAngleScalable |
True - Угол направления линии является масштабируемый False - Не масштабируемый |
$iWrapMode |
Режим повтора, который определяет, как сопрягаются области. 0 - Плиткой, без зеркального отражения 1 - Плиткой с зеркальным отражением по горизонтали, как при перемещении от одной плитки к следующей в том же ряду 2 - Плиткой с зеркальным отражением по вертикали как при перемещении от одной плитки к следующей в том же столбце 3 - Плиткой с зеркальным отражением по горизонтали, как при перемещении в том же ряду и по вертикали как при перемещении в том же столбце 4 - Никакая плитка не помещается |
Возвращаемое значение
Успех: | Возвращает указатель на новый объект LinearGradientBrush |
Ошибка: | Возвращает 0, либо: |
Если ошибка DllCall(), устанавливает @error и @extended возвращённые вызовом DllCall() | |
$GDIP_STATUS содержит не нулевое значение кода ошибки |
Примечания
Если $fIsAngleScalable равен True, то $nAngle задаёт основной угол, из которого вычисляется угол направления линии. Иначе $nAngle задаёт угол направления линии. Угол измеряется от верхней линии прямоугольника и должен быть в градусах. Градиент следует за направлением линии.См. также
Пример
#include <GDIP.au3>
#include <GUIConstantsEx.au3>
_Example()
Func _Example()
Local $hGUI, $hGraphics, $hBrush20, $hBrush120, $tRectF
; Инициализирует библиотеку GDI+
_GDIPlus_Startup()
$hGUI = GUICreate("Кисть градиента с заданным углом", 420, 200)
GUISetState()
; Создаёт графический объект из дескриптора окна
$hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGUI)
; Создаёт структуру $tagGDIPRECTF, определяющую прямоугольник для кисти линейного градиента
$tRectF = _GDIPlus_RectFCreate(0, 0, 50, 100)
; Создаёт кисть линейного градиента, который плавно изменяет цвет с красного на зеленый с углом 20 градусов
$hBrush20 = _GDIPlus_LineBrushCreateFromRectWithAngle($tRectF, 0xFFFF0000, 0xFF00FF00, 20, True, 1)
; Создаёт кисть линейного градиента, который плавно изменяет цвет с красного на зеленый с углом 120 градусов
$hBrush120 = _GDIPlus_LineBrushCreateFromRectWithAngle($tRectF, 0xFFFF0000, 0xFF00FF00, 120, True, 1)
; Заполняет прямоугольник кистью с линейным градиентом с углом 20 градусов
_GDIPlus_GraphicsFillRect($hGraphics, 0, 0, 200, 200, $hBrush20)
; Заполняет прямоугольник кистью с линейным градиентом с углом 120 градусов
_GDIPlus_GraphicsFillRect($hGraphics, 220, 0, 200, 200, $hBrush120)
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
; Освобождает ресурсы
_GDIPlus_BrushDispose($hBrush120)
_GDIPlus_BrushDispose($hBrush20)
_GDIPlus_GraphicsDispose($hGraphics)
; Закрывает библиотеку GDI+
_GDIPlus_Shutdown()
EndFunc