Compartir a través de


GraphicsPath::IsOutlineVisible(constPointF&,constPen*,constGraphics*) (gdipluspath.h)

El método GraphicsPath::IsOutlineVisible determina si un punto especificado toca el contorno de esta ruta de acceso cuando el trazado se dibuja mediante un objeto Graphics especificado y un lápiz especificado.

Sintaxis

BOOL IsOutlineVisible(
  const PointF & point,
  const Pen      *pen,
  const Graphics *g
);

Parámetros

point

Referencia al punto que se va a probar.

pen

Puntero a un objeto Pen . Este método determina si el punto de prueba toca el contorno de la ruta de acceso que dibujaría este lápiz. Más puntos tocarán un contorno dibujado por un lápiz ancho que tocará un contorno dibujado por un lápiz estrecho.

g

Opcional. Puntero a un objeto Graphics que especifica una transformación de mundo a dispositivo. Si el valor de este parámetro es NULL, la prueba se realiza en coordenadas del mundo; de lo contrario, la prueba se realiza en coordenadas del dispositivo. El valor predeterminado es NULL.

Valor devuelto

Si el punto de prueba toca el contorno de esta ruta de acceso, este método devuelve TRUE; de lo contrario, devuelve FALSE.

Observaciones

Ejemplos

En el ejemplo siguiente se crea una ruta elíptica y se dibuja esa ruta con un lápiz amarillo ancho. A continuación, el código prueba cada punto de una matriz para ver si el punto toca el contorno (como lo dibujaría el lápiz amarillo ancho) de la ruta de acceso. Los puntos que tocan el contorno se pintan de color verde y los puntos que no tocan el contorno se pintan en rojo.

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)

Requisitos

   
Encabezado gdipluspath.h

Consulte también

Recorte con una región

Crear y dibujar trazados

Crear un degradado de trazado

Elementos gráficos

Graphicspath

Métodos IsOutlineVisible

Métodos IsVisible

Paths

Lápiz

Lápices, líneas y rectángulos

PointF

Establecer el ancho y la alineación del lápiz