Método GraphicsPath::IsOutlineVisible(constPointF&,constPen*,constGraphics*) (gdipluspath.h)
O método GraphicsPath::IsOutlineVisible determina se um ponto especificado toca na estrutura de tópicos desse caminho quando o caminho é desenhado por um objeto Graphics especificado e uma caneta especificada.
Sintaxe
BOOL IsOutlineVisible(
const PointF & point,
const Pen *pen,
const Graphics *g
);
Parâmetros
point
Referência ao ponto a ser testado.
pen
Ponteiro para um objeto Pen . Esse método determina se o ponto de teste toca na estrutura de tópicos do caminho que seria desenhada por essa caneta. Mais pontos tocarão em um contorno desenhado por uma caneta larga do que tocarão em um contorno desenhado por uma caneta estreita.
g
Opcional. Ponteiro para um objeto Graphics que especifica uma transformação de mundo para dispositivo. Se o valor desse parâmetro for NULL, o teste será feito em coordenadas mundiais; caso contrário, o teste será feito nas coordenadas do dispositivo. O valor padrão é NULL.
Retornar valor
Se o ponto de teste tocar na estrutura de tópicos desse caminho, esse método retornará TRUE; caso contrário, retornará FALSE.
Comentários
Exemplos
O exemplo a seguir cria um caminho elíptico e desenha esse caminho com uma caneta amarela larga. Em seguida, o código testa cada ponto em uma matriz para ver se o ponto toca na estrutura de tópicos (como seria desenhada pela caneta amarela larga) do caminho. Os pontos que tocam na estrutura de tópicos são pintados de verde e os pontos que não tocam na estrutura de tópicos são pintados de vermelho.
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
Cabeçalho | gdipluspath.h |
Confira também
Construindo e desenhando demarcadores