Функция GradientFill (wingdi.h)
Функция GradientFill заполняет прямоугольники и треугольники.
Синтаксис
BOOL GradientFill(
[in] HDC hdc,
[in] PTRIVERTEX pVertex,
[in] ULONG nVertex,
[in] PVOID pMesh,
[in] ULONG nMesh,
[in] ULONG ulMode
);
Параметры
[in] hdc
Дескриптор контекста целевого устройства.
[in] pVertex
Указатель на массив структур TRIVERTEX , каждый из которых определяет вершину.
[in] nVertex
Число вершин в pVertex.
[in] pMesh
Массив GRADIENT_TRIANGLE структур в режиме треугольника или массив GRADIENT_RECT структур в режиме прямоугольника.
[in] nMesh
Количество элементов (треугольников или прямоугольников) в pMesh.
[in] ulMode
Режим градиентной заливки. Этот параметр может принимать одно из указанных ниже значений.
Значение | Значение |
---|---|
|
В этом режиме прямоугольник описывается двумя конечными точками. Прямоугольник определяется как постоянный цвет (заданный структурой TRIVERTEX ) для левого и правого краев. GDI интерполирует цвет слева на правый край и заполняет внутреннюю границу. |
|
В этом режиме прямоугольник описывается двумя конечными точками. Прямоугольник имеет постоянный цвет (заданный структурой TRIVERTEX ) для верхнего и нижнего краев. GDI интерполирует цвет от верхнего до нижнего края и заполняет внутреннюю часть. |
|
В этом режиме массив структур TRIVERTEX передается в GDI вместе со списком индексов массива, описывающих отдельные треугольники. GDI выполняет линейную интерполяцию между вершинами треугольника и заполняет внутреннюю структуру. Рисование выполняется непосредственно в режимах 24 и 32 bpp. Дизеринг выполняется в режиме 16, 8, 4 и 1 bpp. |
Возвращаемое значение
Если функция выполняется успешно, возвращается значение TRUE.
Если функция завершается сбоем, возвращается значение FALSE.
Комментарии
Чтобы добавить гладкое заливку треугольника, вызовите функцию GradientFill с тремя конечными точками треугольника. GDI линейная интерполяция и заполнение треугольника. Ниже приведены выходные данные затенения треугольника.
![Иллюстрация треугольника, который заполняет от оранжевого в верхней точке до пурпурной в нижней строке](images/gradientfilltriangle.png)
![Иллюстрация прямоугольника, который оттеняется от темного слева до светлого в правой части](images/gradientfillrectangle.png)
![Иллюстрация прямоугольника, который оттеняется от темного в верхней части до светлого снизу](images/gradientfillrectangle2.png)
В случае заполнения треугольника pMesh указывает на массив GRADIENT_TRIANGLE структур. Каждая GRADIENT_TRIANGLE структура задает индекс трех вершин в массиве pVertex . Эти три вершины образуют один треугольник.
Чтобы упростить аппаратное ускорение, эта процедура не обязательно должна быть идеальной в пикселях внутри треугольника.
Обратите внимание, что GradientFill не использует альфа-член структуры TRIVERTEX . Чтобы использовать GradientFill с прозрачностью, вызовите GradientFill, а затем вызовите AlphaBlend с нужными значениями для альфа-канала каждой вершины.
Дополнительные сведения см. в разделах Гладкое заливка, Рисование затеняемого треугольника и Рисование затенения прямоугольника.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | wingdi.h (включая Windows.h) |
Библиотека | Msimg32.lib |
DLL | Msimg32.dll |