PathGradientBrush::GetFocusScales, méthode (gdipluspath.h)
La méthode PathGradientBrush::GetFocusScales obtient les échelles de focus de ce pinceau de dégradé de chemin d’accès.
Syntaxe
Status GetFocusScales(
[out] REAL *xScale,
[out] REAL *yScale
);
Paramètres
[out] xScale
Type : REAL*
Pointeur vers un REAL qui reçoit la valeur d’échelle du focus x.
[out] yScale
Type : REAL*
Pointeur vers un REAL qui reçoit la valeur d’échelle du focus y.
Valeur retournée
Type : État
Si la méthode réussit, elle retourne Ok, qui est un élément de l’énumération Status .
Si la méthode échoue, elle retourne l’un des autres éléments de l’énumération Status .
Notes
Par défaut, la couleur centrale d’un dégradé de chemin d’accès est au centre. En appelant PathGradientBrush::SetFocusScales, vous pouvez spécifier que la couleur du centre doit apparaître le long d’un chemin qui entoure le point central. Par exemple, supposons que le chemin de la limite est un triangle et que le point central se trouve au centroïde de ce triangle. Supposons également que la couleur de la limite est rouge et que la couleur du centre est bleue. Si vous définissez les échelles de focus sur (0,2, 0,2), la couleur est bleue le long de la limite d’un petit triangle qui entoure le point central. Ce petit triangle est le chemin de limite main mis à l’échelle d’un facteur de 0,2 dans la direction x et de 0,2 dans la direction y. Lorsque vous peignez avec le pinceau dégradé de chemin, la couleur passe progressivement du rouge au bleu à mesure que vous passez de la limite du grand triangle à la limite du petit triangle. La zone à l’intérieur du petit triangle sera remplie de bleu.
Exemples
L’exemple suivant crée un objet PathGradientBrush basé sur un chemin triangulaire. Le code définit les échelles de focus du pinceau de dégradé de chemin d’accès sur (0.2, 0.2), puis utilise le pinceau de dégradé de chemin pour remplir une zone qui contient le chemin triangulaire. Enfin, le code appelle la méthode PathGradientBrush::GetFocusScales de l’objet PathGradientBrush pour obtenir les valeurs de l’échelle de focus x et de l’échelle de focus y.
VOID Example_GetFocusScales(HDC hdc)
{
Graphics graphics(hdc);
Point points[] = {Point(100, 0), Point(200, 200), Point(0, 200)};
// No GraphicsPath object is created. The PathGradientBrush
// object is constructed directly from the array of points.
PathGradientBrush pthGrBrush(points, 3);
Color colors[] = {
Color(255, 255, 0, 0), // red
Color(255, 0, 0, 255)}; // blue
REAL relativePositions[] = {
0.0f, // red at the boundary of the outer triangle
1.0f}; // blue at the boundary of the inner triangle
pthGrBrush.SetInterpolationColors(colors, relativePositions, 2);
// The inner triangle is formed by scaling the outer triangle
// about its centroid. The scaling factor is 0.2 in both
// the x and y directions.
pthGrBrush.SetFocusScales(0.2f, 0.2f);
// Fill a rectangle that is larger than the triangle
// specified in the Point array. The portion of the
// rectangle outside the triangle will not be painted.
graphics.FillRectangle(&pthGrBrush, 0, 0, 200, 200);
// Obtain information about the path gradient brush.
REAL xScale = 0.0f;
REAL yScale = 0.0f;
pthGrBrush.GetFocusScales(&xScale, &yScale);
// The value of xScale is now 0.2.
// The value of yScale is now 0.2.
}
Configuration requise
Client minimal pris en charge | Windows XP, Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | gdipluspath.h (include Gdiplus.h) |
Bibliothèque | Gdiplus.lib |
DLL | Gdiplus.dll |