GraphicsPath ::IsOutlineVisible(constPointF&,constPen*,constGraphics*) ( gdipluspath.h)
La méthode GraphicsPath ::IsOutlineVisible détermine si un point spécifié touche le contour de ce chemin lorsque le chemin est dessiné par un objet Graphics et un stylet spécifiés.
Syntaxe
BOOL IsOutlineVisible(
const PointF & point,
const Pen *pen,
const Graphics *g
);
Paramètres
point
Référence au point à tester.
pen
Pointeur vers un objet Pen . Cette méthode détermine si le point de test touche le contour du chemin qui serait dessiné par ce stylet. Plus de points toucheront un contour dessiné par un stylet large que touchera un contour dessiné par un stylet étroit.
g
facultatif. Pointeur vers un objet Graphics qui spécifie une transformation monde-appareil. Si la valeur de ce paramètre est NULL, le test est effectué en coordonnées mondiales ; sinon, le test est effectué dans les coordonnées de l’appareil. La valeur par défaut est NULL.
Valeur retournée
Si le point de test touche le contour de ce chemin d’accès, cette méthode retourne TRUE ; sinon, il retourne FALSE.
Notes
Exemples
L’exemple suivant crée un chemin elliptique et dessine ce chemin avec un large stylet jaune. Ensuite, le code teste chaque point d’un tableau pour voir si le point touche le contour (car il serait dessiné par le stylet jaune large) du chemin d’accès. Les points qui touchent le contour sont peints en vert, et les points qui ne touchent pas le contour sont peints en rouge.
VOID Example_IsOutlineVisibleExample(HDC hdc)
{
Graphics graphics(hdc);
INT j;
Pen yellowPen(Color(255, 255, 255, 0), 20);
SolidBrush brush(Color(255, 255, 0, 0));
// Create and draw a path.
GraphicsPath path;
path.AddEllipse(50, 50, 200, 100);
graphics.DrawPath(&yellowPen, &path);
// Create an array of three points, and determine whether each
// point in the array touches the outline of the path.
// If a point touches the outline, paint it green.
// If a point does not touch the outline, paint it red.
PointF[] = {
PointF(230, 138),
PointF(100, 120),
PointF(150, 170)};
for(j = 0; j <= 2; ++j)
{
if(path.IsOutlineVisible(points[j], &yellowPen, NULL))
brush.SetColor(Color(255, 0, 255, 0));
else
brush.SetColor(Color(255, 255, 0, 0));
graphics.FillEllipse(&brush, points[j].X - 3.0f, points[j].Y - 3.0f, 6.0f, 6.0f);
}
}
Color(255, 255, 0, 0)Color(255, 255, 0, 0)
Configuration requise
En-tête | gdipluspath.h |
Voir aussi
Génération et dessin de tracés