Функция GradientFill


Функция 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

Нет

Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz