_GDIPlus_LineBrushSetPresetBlend
Устанавливает цвета, которые будут интерполированы для объекта кисти линейного градиента в соответствующих позициях их смешивания
#Include <GDIP.au3>
_GDIPlus_LineBrushSetPresetBlend($hLineGradientBrush, $aInterpolations)
Параметры
$hLineGradientBrush | Указатель на объект LinearGradientBrush |
$aInterpolations |
Массив содержащий цвета и их позиции для смешивания. [0][0] - Количество элементов в массиве (пар цвета и позиции), должна быть не менее 2 [1][0] - Цвет 1 [1][1] - Позиция 1 [2][0] - Цвет 2 [2][1] - Позиция 2 ... [n][0] - Цвет n [n][1] - Позиция n |
Возвращаемое значение
Успех: | Возвращает True |
Ошибка: | Возвращает False, либо: |
Если ошибка DllCall(), устанавливает @error и @extended возвращённые вызовом DllCall() | |
$GDIP_STATUS содержит не нулевое значение кода ошибки. |
См. также
_GDIPlus_LineBrushGetPresetBlendПример
#include <GDIP.au3>
#include <GUIConstantsEx.au3>
_Example()
Func _Example()
Local $hGUI, $hGraphics, $hBrush, $aInterpolations[5][2]
; Инициализирует библиотеку GDI+
_GDIPlus_Startup()
$hGUI = GUICreate("Устанавливает цвета и позиции", 400, 200)
GUISetState()
; Создаёт графический объект из дескриптора окна
$hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGUI)
; Создаёт кисть линейного градиента, который плавно изменяет цвет с чёрного на белый
$hBrush = _GDIPlus_LineBrushCreate(0, 0, 400, 200, 0xFF000000, 0xFFFFFFFF, 1) ; Повторение кисти
; Задаёт интерполяцию цветов и позиций
$aInterpolations[0][0] = 4
$aInterpolations[1][0] = 0xFFFF0000 ; Красный
$aInterpolations[1][1] = 0 ; 0% Слева
$aInterpolations[2][0] = 0xFF00FF00 ; Зелёный
$aInterpolations[2][1] = 0.3 ; На 30% от левого края
$aInterpolations[3][0] = 0xFF0000FF ; Синий
$aInterpolations[3][1] = 0.7 ; На 70% от левого края
$aInterpolations[4][0] = 0xFFFFFF00 ; Жёлтый
$aInterpolations[4][1] = 1 ; На 100% от левого края
; Устанавливает позиции и цвета кисти линейного градиента
_GDIPlus_LineBrushSetPresetBlend($hBrush, $aInterpolations)
; Заполняет прямоугольник кистью с линейным градиентом
_GDIPlus_GraphicsFillRect($hGraphics, 0, 0, 400, 200, $hBrush)
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
; Освобождает ресурсы
_GDIPlus_BrushDispose($hBrush)
_GDIPlus_GraphicsDispose($hGraphics)
; Закрывает библиотеку GDI+
_GDIPlus_Shutdown()
EndFunc ;==>_Example