Compartir a través de


Método LinearGradientBrush::SetBlend (gdiplusbrush.h)

El método LinearGradientBrush::SetBlend establece los factores de mezcla y las posiciones de mezcla de este pincel de degradado lineal para crear una mezcla personalizada.

Sintaxis

Status SetBlend(
  [in] const REAL *blendFactors,
  [in] const REAL *blendPositions,
  [in] INT        count
);

Parámetros

[in] blendFactors

Tipo: const REAL*

Puntero a una matriz de números reales que especifican factores de mezcla. Cada número de la matriz especifica un porcentaje del color final y debe estar en el intervalo comprendido entre 0,0 y 1,0.

[in] blendPositions

Tipo: const REAL*

Puntero a una matriz de números reales que especifican posiciones de mezcla. Cada número de la matriz indica un porcentaje de la distancia entre el límite inicial y el límite final y está en el intervalo comprendido entre 0,0 y 1,0, donde 0,0 indica el límite inicial del degradado y 1,0 indica el límite final. Debe haber al menos dos posiciones especificadas: la primera posición, que siempre es 0,0f y la última posición, que siempre es 1,0f. De lo contrario, el comportamiento no está definido. Una posición de combinación entre 0,0 y 1,0 indica una línea, paralela a las líneas de límite, que es una determinada fracción de la distancia desde el límite inicial hasta el límite final. Por ejemplo, una posición de combinación de 0,7 indica la línea que es el 70 por ciento de la distancia desde el límite inicial hasta el límite final. El color es constante en líneas que son paralelas a las líneas de límite.

[in] count

Tipo: INT

Entero que especifica el número de elementos de la matriz blendFactors . Es igual que el número de elementos de la matriz blendPositions . El factor de mezcla de un índice de matriz determinado corresponde a la posición de mezcla en ese mismo índice de matriz.

Valor devuelto

Tipo: Estado

Si el método se realiza correctamente, devuelve Ok, que es un elemento de la enumeración Status .

Si se produce un error en el método, devuelve uno de los otros elementos de la enumeración Status .

Comentarios

Un objeto LinearGradientBrush tiene dos límites. Cuando se rellena un área con un pincel degradado lineal, el color cambia gradualmente a medida que se mueve del límite inicial al límite final. De forma predeterminada, el color está relacionado linealmente con la distancia, pero puede personalizar la relación entre el color y la distancia llamando al método LinearGradientBrush::SetBlend .

Ejemplos

En el ejemplo siguiente se crea un pincel de degradado lineal, se establece una mezcla personalizada y se usa el pincel para rellenar un rectángulo.

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

   REAL factors[4] = {0.0f, 0.4f, 0.6f, 1.0f};
   REAL positions[4] = {0.0f, 0.2f, 0.8f, 1.0f};
   Rect rect(0, 0, 100, 50);

   LinearGradientBrush linGrBrush(
      rect,
      Color(255, 255, 0, 0),  // red
      Color(255, 0, 0, 255),  // blue
      LinearGradientModeHorizontal);

   linGrBrush.SetBlend(factors, positions, 4);
   myGraphics.FillRectangle(&linGrBrush, rect);
}

Requisitos

   
Cliente mínimo compatible Windows XP, Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado gdiplusbrush.h (include Gdiplus.h)
Library Gdiplus.lib
Archivo DLL Gdiplus.dll

Consulte también

Pinceles y formas rellenas

Color

Creación de un degradado lineal

Rellenar una forma con un degradado de color

LinearGradientBrush

LinearGradientBrush::GetBlend

Rect