Share via


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

Découpage avec une région

Génération et dessin de tracés

Création d’un dégradé de chemin

Graphismes

Graphicspath

Méthodes IsOutlineVisible

Méthodes IsVisible

Chemins d’accès

Stylet

Stylos, lignes et rectangles

Pointf

Définition de la largeur et de l’alignement du stylet