Linguagem

PathF Classe

Definição

Representa um caminho geométrico composto por linhas, curvas e formas usando coordenadas de ponto flutuante de precisão simples.

public ref class PathF : IDisposable
public class PathF : IDisposable
type PathF = class
    interface IDisposable
Public Class PathF
Implements IDisposable
Herança
PathF
Implementações

Observações

Um caminho é composto por um ou mais subcaminhos, cada um começando com uma operação Move e consistindo em segmentos de linha ligados, curvas e arcos. Para que as operações de preenchimento funcionem de forma fiável, os caminhos devem normalmente ser fechados usando o Close() método ou ligando explicitamente o ponto final de volta ao ponto inicial.

Ao criar caminhos para preenchimento, assegure a construção correta dos caminhos para evitar exceções durante a renderização. Os caminhos que começam com LineTo(PointF) operações criam automaticamente uma operação inicial de MoveTo.

Construtores

Name Descrição
PathF()

Inicializa um caminho vazio sem segmentos.

PathF(PathF)

Inicializa um novo caminho copiando os segmentos, pontos e metadados de arco de outro PathF.

PathF(PointF)

Inicializa um novo caminho cujo primeiro ponto (mover) é o ponto especificado.

PathF(Single, Single)

Inicializa um novo caminho cujo primeiro ponto (mover) está nas coordenadas especificadas.

Propriedades

Name Descrição
Bounds

Obtém a caixa delimitadora alinhada ao eixo do caminho (armazenada em cache até ser modificada).

Closed

Obtém um valor que indica se o último subcaminho foi explicitamente fechado com Close().

Count

Obtém o número total de pontos no caminho.

FirstPoint

Obtém o primeiro ponto no caminho, ou o valor padrão se o caminho estiver vazio.

Item[Int32]

Obtém o ponto no índice especificado, ou o valor padrão se o índice estiver fora do intervalo.

LastPoint

Obtém o último ponto no caminho, ou o valor padrão se o caminho estiver vazio.

LastPointIndex

Obtém o índice do último ponto, ou -1 se o caminho estiver vazio.

OperationCount

Obtém o número de operações de segmento (incluindo mover e fechar) no caminho.

PlatformPath

Obtém ou define um objeto de caminho nativo específico da plataforma associado a este caminho. Definir um novo valor elimina o anterior se for descartável.

Points

Enumera todos os pontos usados pelos segmentos do caminho por ordem lógica.

SegmentCountExcludingOpenAndClose

Obtém a contagem de operações de segmento, excluindo uma inicial Move e uma final Close, se existirem.

SegmentTypes

Enumera a sequência de operações de segmento que compõem o caminho.

SubPathCount

Obtém o número de subcaminhos (sequências contíguas que começam por Move) no caminho.

Métodos

Name Descrição
AddArc(PointF, PointF, Single, Single, Boolean)

Adiciona um segmento de arco elíptico ao subcaminho atual.

AddArc(Single, Single, Single, Single, Single, Single, Boolean)

Adiciona um segmento de arco elíptico usando valores de coordenadas em vez de pontos.

AppendCircle(PointF, Single)

Acrescenta um caminho circular aproximado centrado no ponto especificado.

AppendCircle(Single, Single, Single)

Acrescenta um caminho circular aproximado centrado no ponto especificado.

AppendEllipse(RectF)

Acrescenta um caminho aproximado da elipse dentro do retângulo especificado.

AppendEllipse(Single, Single, Single, Single)

Acrescenta um caminho de elipse aproximado (usando 4 curvas cúbicas) dentro do retângulo especificado.

AppendRectangle(RectF, Boolean)

Acrescenta um caminho retangular usando os limites retangulares especificados.

AppendRectangle(Single, Single, Single, Single, Boolean)

Acrescenta um caminho retangular.

AppendRoundedRectangle(RectF, Single, Boolean)

Acrescenta um retângulo arredondado usando os limites do retângulo especificados e o raio uniforme dos cantos.

AppendRoundedRectangle(RectF, Single, Single, Single, Single, Boolean)

Acrescenta um retângulo arredondado usando os limites do retângulo especificados e os raios individuais dos cantos.

AppendRoundedRectangle(RectF, Single, Single)

Acrescenta um retângulo arredondado usando raios horizontais e verticais distintos (cantos elípticos).

AppendRoundedRectangle(Single, Single, Single, Single, Single, Boolean)

Acrescenta um retângulo arredondado onde os quatro cantos partilham o mesmo raio.

AppendRoundedRectangle(Single, Single, Single, Single, Single, Single, Single, Single, Boolean)

Acrescenta um retângulo arredondado que especifica os raios individuais dos cantos.

Close()

Fecha o subcaminho atual acrescentando um segmento fechado se este ainda não estiver fechado.

CurveTo(PointF, PointF, PointF)

Adiciona um segmento cúbico de curva de Bézier definido por dois pontos de controlo e um ponto final.

CurveTo(Single, Single, Single, Single, Single, Single)

Adiciona um segmento cúbico de curva de Bézier usando valores de coordenadas.

Dispose()

Liberta recursos nativos associados ao caminho.

Equals(Object, Single)

Determina se este caminho e outro têm geometria equivalente dentro de uma tolerância.

Equals(Object)

Determina se o objeto especificado é igual à corrente PathF usando comparação baseada em tolerâncias para valores geométricos.

GetArcAngle(Int32)

Obtém um valor de ângulo de arco no índice especificado (armazenado como graus).

GetArcClockwise(Int32)

Obtém a marcação armazenada no sentido horário para um segmento de arco no índice especificado.

GetBoundsByFlattening(Single)

Calcula os limites achatando curvas com a planitude dada, atualizando a cache.

GetFlattenedPath(Single, Boolean)

Cria um novo caminho composto apenas por segmentos de linha que aproximam todas as curvas e arcos.

GetHashCode()

Serve como função de hash predefinida.

GetPointsForSegment(Int32)

Obtém os pontos que definem o segmento no índice especificado.

GetRotatedPoint(Int32, PointF, Single)

Calcula a posição de um ponto no percurso após uma rotação em torno de um pivô.

GetSegmentForPoint(Int32)

Determina qual segmento utiliza o ponto num índice especificado.

GetSegmentInfo(Int32, Int32, Int32, Int32)

Recupera metadados de segmentos, retornando o tipo de segmento e os índices de saída que apontam para coleções internas.

GetSegmentPointIndex(Int32)

Calcula o índice de pontos de partida na lista interna de pontos para um dado índice de segmento.

GetSegmentType(Int32)

Obtém o tipo de operação do segmento no índice especificado.

InsertCurveTo(PointF, PointF, PointF, Int32)

Insere um segmento cúbico de Bézier num índice de segmento específico.

InsertLineTo(PointF, Int32)

Insere um segmento de linha num índice de segmento específico.

InsertQuadTo(PointF, PointF, Int32)

Insere um segmento quadrático de Bézier num índice de segmento específico.

Invalidate()

Limpa limites em cache e liberta qualquer caminho nativo da plataforma.

IsSubPathClosed(Int32)

Indica se o subcaminho especificado está fechado.

LineTo(PointF)

Adiciona um segmento de linha reta ao ponto final especificado (iniciando um novo subcaminho se o caminho estiver vazio).

LineTo(Single, Single)

Adiciona um segmento de linha reta às coordenadas especificadas.

Move(Single, Single)

Desloca cada ponto do caminho pelas quantidades especificadas.

MovePoint(Int32, Single, Single)

Desloca um único ponto pelos deltas especificados.

MoveTo(PointF)

Inicia um novo subcaminho no ponto especificado.

MoveTo(Single, Single)

Inicia um novo subcaminho nas coordenadas especificadas.

Open()

Reabre um último subcaminho previamente fechado removendo o seu segmento de encerramento.

QuadTo(PointF, PointF)

Adiciona um segmento quadrático de curva de Bézier definido por um ponto de controlo e um ponto final.

QuadTo(Single, Single, Single, Single)

Adiciona um segmento quadrático de curva de Bézier usando valores coordenados.

RemoveAllSegmentsAfter(Int32)

Remove o segmento especificado e todos os segmentos que o seguem.

RemoveSegment(Int32)

Remove um único segmento, ajustando os dados internos de ponto e arco em conformidade.

Reverse()

Cria um novo caminho com a ordem dos segmentos e dos pontos invertida.

Rotate(Single, PointF)

Cria um novo PathF que representa este caminho rodado pelo ângulo especificado em torno de um ponto de pivô.

Separate()

Divide o caminho em objetos individuais do subcaminho.

SetArcAngle(Int32, Single)

Define um valor de ângulo de arco (graus) no índice especificado.

SetArcClockwise(Int32, Boolean)

Define a bandeira armazenada no sentido dos ponteiros do relógio para um segmento de arco.

SetPoint(Int32, PointF)

Define o ponto no índice especificado.

SetPoint(Int32, Single, Single)

Define as coordenadas do ponto no índice especificado.

Transform(Matrix3x2)

Aplica uma matriz de transformação afim 2D a todos os pontos no caminho em funcionamento.

Métodos da Extensão

Name Descrição
AsRotatedAndroidPath(PathF, PointF, Single, Single, Single)

Converte um PathF num SKPath SkiaSharp com um valor especificado em pixels por unidade, nível de zoom e ângulo de rotação.

AsScaledPath(PathF, Single, Single)

Cria um novo caminho escalando o caminho alvo com fatores de escala x e y separados.

AsScaledPath(PathF, Single)

Cria um novo caminho ao escalar uniformemente o caminho do alvo.

AsSkiaPath(PathF, Single, Single, Single, Single, Single)

Converte um PathF num SKPath SkiaSharp com parâmetros de transformação especificados.

AsSkiaPath(PathF, Single, Single)

Converte um PathF num SKPath SkiaSharp com um valor específico de pixels por unidade e nível de zoom.

AsSkiaPath(PathF, Single)

Converte um PathF num SKPath SkiaSharp com um valor especificado de pixels por unidade.

AsSkiaPath(PathF)

Converte um PathF num SKPath SkiaSharp.

AsSkiaPathFromSegment(PathF, Int32, Single, Single)

Converte um segmento de um PathF num SKPath SkiaSharp com um valor específico de pixels por unidade e nível de zoom.

DrawArc(PathF, Single, Single, Single, Single, Single, Single, Single)

Representa um caminho geométrico composto por linhas, curvas e formas usando coordenadas de ponto flutuante de precisão simples.

SVGArcTo(PathF, Single, Single, Single, Boolean, Boolean, Single, Single, Single, Single)

Adiciona um segmento de arco SVG ao caminho.

ToDefinitionString(PathF, Single)

Converte um caminho numa cadeia de definição de caminho ao estilo SVG.

Aplica-se a