Поделиться через


Метод LinearGradientBrush::SetBlendBellShape (gdiplusbrush.h)

Метод LinearGradientBrush::SetBlendBellShape задает форму смешения этой кисти линейного градиента, чтобы создать настраиваемую смесь на основе колоколообразной кривой.

Синтаксис

Status SetBlendBellShape(
  [in] REAL focus,
  [in] REAL scale
);

Параметры

[in] focus

Тип: REAL

Вещественное число, указывающее позицию конечного цвета. Это число в процентах от расстояния между линиями границы и должно находиться в диапазоне от 0,0 до 1,0.

[in] scale

Тип: REAL

Необязательный элемент. Реальное число, указывающее процент конечного цвета градиента, который смешивается в положении фокуса с начальным цветом градиента. Это число должно находиться в диапазоне от 0,0 до 1,0. Значение по умолчанию — 1,0, указывающее, что конечный цвет имеет полную интенсивность.

Возвращаемое значение

Тип: Состояние

В случае успешного выполнения метода возвращается ОК, который является элементом перечисления Status .

Если метод завершается ошибкой, он возвращает один из других элементов перечисления Status .

Комментарии

По умолчанию цвет постепенно меняется от начального цвета (цвет на начальной границе кисти линейного градиента) до конечного цвета (цвет на конечной границе линейной кисти градиента) по мере перехода от начальной границы к конечной границе. Вы можете настроить расположение и смешивание начального и конечного цветов с помощью метода LinearGradientBrush::SetBlendBellShape .

Метод LinearGradientBrush::SetBlendBellShape настраивает смесь таким образом, чтобы оно следовало за кривой в форме колокола с крайними границами основания колокола. Начальный цвет, который в смеси по умолчанию находится на начальной границе линейной кисти градиента, отображается на начальной и конечной границах линейной кисти градиента при применении смешения в форме колокола. Позиция конечного цвета, который в смеси по умолчанию находится на конечной границе, находится где-то между границами и определяется значением фокуса. Другими словами, фокус определяет положение вершины колокола. Например, значение фокуса 0,7 помещает пик на 70 % расстояния между начальной и конечной границами. Конечный цвет отображается на этом пике.

Конечный цвет в смеси в форме колокола — это процентная доля гаммы между начальным цветом градиента по умолчанию и конечным цветом смешения по умолчанию. Например, предположим, что линейная кисть градиента построена с красным цветом в качестве начального и синим цветом в качестве конечного цвета. Если linearGradientBrush::SetBlendBellShape вызывается со значением шкалы 0,8, то конечным цветом в смеси в форме колокола является оттенок, который составляет 80 процентов от красного до синего (20 процентов красного, 80 процентов синего). Значение шкалы 1,0 создает конечный цвет, равный 100 процентам синего.

Примеры

В следующем примере создается линейная градиентная кисть, устанавливается колокольчатая смесь и используется кисть для заполнения прямоугольника. Еще дважды код задает смесь в форме колокола с разными значениями и каждый раз использует кисть для заполнения прямоугольника.

VOID Example_SetBlendBell(HDC hdc)
{
   Graphics myGraphics(hdc);

   LinearGradientBrush linGrBrush(
      Point(0, 0),
      Point(500, 0),
      Color(255, 255, 0, 0),   // red
      Color(255, 0, 0, 255));  // blue

   linGrBrush.SetBlendBellShape(0.5f, 0.6f);
   myGraphics.FillRectangle(&linGrBrush, 0, 0, 500, 50);

   linGrBrush.SetBlendBellShape(0.5f, 0.8f); 
   myGraphics.FillRectangle(&linGrBrush, 0, 75, 500, 50);

   linGrBrush.SetBlendBellShape(0.5f, 1.0f); 
   myGraphics.FillRectangle(&linGrBrush, 0, 150, 500, 50);
}

Требования

   
Минимальная версия клиента Windows XP, Windows 2000 Профессиональная [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header gdiplusbrush.h (включая Gdiplus.h)
Библиотека Gdiplus.lib
DLL Gdiplus.dll

См. также раздел

Кисти и закрашенные фигуры

Создание линейного градиента

Заполнение фигуры цветным градиентом

LinearGradientBrush;

LinearGradientBrush::GetBlend

LinearGradientBrush::SetBlend

LinearGradientBrush::SetBlendTriangularShape

Использование кисти для заливки фигур