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
Creación de un degradado lineal