Функция GradientFill заполняет структуры треугольника и прямоугольника.
Синтксис
BOOL GradientFill( HDC hdc, // дескриптор DC PTRIVERTEX pVertex, // массив вершин ULONG dwNumVertex, // число вершин PVOID pMesh, // массив градиентов ULONG dwNumMesh, // массив размеров градиентов ULONG dwMode // режим градиентного заполнения ); |
Параметры
hdc
[in] Дескриптор целевого контекста устройства.pVertex
[in] Указатель на массив структур TRIVERTEX, каждая из которых определяет вершину треугольника.dwNumVertex
[in] Число вершин в pVertex.pMesh
[in] Массив структур GRADIENT_TRIANGLE в режиме треугольника, или массиве структур GRADIENT_RECT в режиме прямоугольника.dwNumMesh
[in] Число элементов (треугольников или прямоугольников) в pMesh.dwMode
[in] Устанавливает режим градиентной закраски. Этот параметр может быть одним из нижеперечисленных значенийЗначение | Предназначение |
---|---|
GRADIENT_FILL_RECT_H | В этом режиме, две конечных точки характеризуют прямоугольник. Прямоугольник определяется так, чтобы иметь постоянный цвет (заданный структурой TRIVERTEX) с левой и правой кромок. Графический интерфейс устройств (GDI) интерполирует цвет с левого на правый край и закрашивает внутреннюю часть. |
GRADIENT_FILL_RECT_V | В этом режиме, две конечных точки характеризуют прямоугольник. Прямоугольник определяется так, чтобы иметь постоянный цвет (заданный структурой TRIVERTEX) для верхней и нижней кромок. Графический интерфейс устройств (GDI) интерполирует цвет от вершины до нижней кромки и заполняет внутреннюю часть. |
GRADIENT_FILL_TRIANGLE | В этом режиме, массив структур TRIVERTEX передается в графическому интерфейсу устройств (GDI) наряду со списком индексов массива, которые описывают отдельные треугольники. GDI выполняет линейную интерполяцию между вершинами треугольника и закрашивает внутреннюю часть. Рисование делается непосредственно в режимах 24- и 32 - битов на пиксель (bpp). Передача полутонов (сглаживание) выполняется в режим 16-, 8-, 4- и 1 - битов на пиксель (bpp). |
Возвращаемые значения
Если функция завершается успешно, возвращаемое значение - ИСТИНА (TRUE).
Если функция завершается с ошибкой, возвращаемое значение - ЛОЖЬ (FALSE).
Windows NT/2000/XP: Чтобы получить дополнительные сведения об ошибке, вызовите GetLastError.
Замечания
Чтобы добавить закраску с плавными цветовыми переходами в треугольник, вызовите функцию GradientFill с тремя конечными точками треугольника. Графический интерфейс устройств (GDI) будет линейно интерполировать и заполнять треугольник.
Чтобы добавить закраску с плавными цветовыми переходами в прямоугольник, вызовите GradientFill с левыми верхними и нижними правыми координатами прямоугольника. Есть два метода плавного затенения цвета, которые используются при рисовании прямоугольника. В горизонтальном режиме, прямоугольник затеняется слева направо. В вертикальном режиме, прямоугольник затеняется сверху вниз.
Функция GradientFill использует метод объединения, чтобы задать конечные точки рисуемого объекта. Все вершины передаются в GradientFill в массиве pVertex. Параметр pMesh устанавливает, как эти вершины связываются, чтобы сформировать объект. При закраске прямоугольника, pMesh указывает на массив структур GRADIENT_RECT. Каждая структура GRADIENT_RECT определяет индекс двух вершин в массиве pVertex. Эти две вершины формируют слева от верха и справа от низа границы одного и того же прямоугольника.
В случае закраски треугольника, pMesh указывает на массив структур GRADIENT_TRIANGLE. Каждая структура GRADIENT_TRIANGLE определяет индекс трех вершин в массиве pVertex. Эти три вершины формируют один и тот же треугольник.
Чтобы упростить аппаратное ускорение, эта процедура не требует точности пиксель в пиксель во внутренней части треугольника.
Подробную информацию см. в статье Закраска с плавными цветовыми переходами, Рисование затененного треугольника и Рисование затененного прямоугольника.
Смотри также
Обзор Точечные рисунки, Функции, используемые точечными рисунками, EMRGRADIENTFILL, GRADIENT_RECT, GRADIENT_TRIANGLE, TRIVERTEX
Размещение и совместимость GradientFill |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Нет |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Нет |
Используемая библиотека |
Включена как ресурс в Msimg32.dll |
Заголовочный файл |
|
- объявлено в |
Wingdi.h |
- включено в |
Windows.h |
Unicode |
Нет |
Замечания по платформе |
Не имеется |