Metodo GraphicsPath::IsVisible(constPointF&,constGraphics*) (gdipluspath.h)
Il metodo GraphicsPath::IsVisible determina se un punto specificato si trova nell'area riempita quando questo percorso viene riempito da un oggetto Graphics specificato.
Sintassi
BOOL IsVisible(
const PointF & point,
const Graphics *g
);
Parametri
point
Riferimento al punto da testare.
g
facoltativo. Puntatore a un oggetto Graphics che specifica una trasformazione da mondo a dispositivo. Se il valore di questo parametro è NULL, il test viene eseguito nelle coordinate mondiali; in caso contrario, il test viene eseguito nelle coordinate del dispositivo. Il valore predefinito è NULL.
Valore restituito
Se il punto di test si trova all'interno di questo percorso, questo metodo restituisce TRUE; in caso contrario, restituisce FALSE.
Commenti
Esempi
L'esempio seguente crea un percorso ellittico e disegna il percorso con una penna nera stretta. Il codice verifica quindi ogni punto in una matrice per verificare se il punto si trova all'interno del percorso. I punti che si trovano nell'interno sono dipinti verdi e punti che non si trovano nell'interno sono dipinto rosso.
VOID IsVisibleExample(HDC hdc)
{
Graphics graphics(hdc);
INT j;
Pen blackPen(Color(255, 0, 0, 0), 1);
SolidBrush brush(Color(255, 255, 0, 0));
// Create and draw a path.
GraphicsPath path;
path.AddEllipse(50, 50, 200, 100);
graphics.DrawPath(&blackPen, &path);
// Create an array of four 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(50, 100),
PointF(250, 100),
PointF(150, 170),
PointF(180, 60)};
for(j = 0; j <= 3; ++j)
{
if(path.IsVisible(points[j], &graphics))
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);
}
}
Requisiti
Intestazione | gdipluspath.h |
Vedi anche
Costruzione e creazione di percorsi