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 |