Compartilhar via


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

Recorte com uma região

Construindo e desenhando demarcadores

Criando um Gradiente de Caminho

Elementos gráficos

Graphicspath

Métodos IsOutlineVisible

Métodos IsVisible

Caminhos

Caneta

Canetas, linhas e retângulos

Pointf

Definindo a largura e o alinhamento da caneta