Permite a criação de formas geométricas compostas por uma sequência (caminho) de segmentos rectos e/ou curvilíneos.
• Construtor:
GeneralPath caminho = new GeneralPath();
• Métodos:
caminho.moveTo(x,y); –Define o ponto inicial
caminho.lineTo(x,y); –Desenha uma linha entre o ponto actual e o ponto x,y
caminho.closePath(); –Desenha uma linha entre o ponto actual e o ponto inicial (fecha o caminho)
Métodos:
caminho.quadTo(xc,yc,x,y); –Desenha uma curva (QuadCurve) entre o ponto actual e o ponto x,y, tendo como ponto de controlo o ponto xc,yc.
caminho.curveTo(xc1,yc1,xc2,xc2,x,y); –Desenha uma curva (CubicCurve) entre o ponto actual e o ponto x,y, tendo como pontos de controlo os pontos xc1,yc1e xc2,yc2.
• Nota: Todas as coordenadas devem ser do tipo float.
O 1º método a ser invocado é o moveTo.
• O método closePath, se invocado, deve ser sempre o último.
• Após o caminho ter sido totalmente definido, deverá ser convertido:
Shape forma = (Shape) caminho;
g2.setPaint(color.red);
g2.fill(forma);
• Estratégias de Implementação:
–
1ª Estratégia: Caminho fechado que necessita de todos os ciclosdo forpara ser desenhado;
–
2ª Estratégia: Caminho fechado que necessita de um só ciclopara ser desenhado;
–
3ª Estratégia: Combinação das duas anteriores.
Exemplo da 1ª Estratégia:
…Criar o caminho
for(ang=0;ang<2*Math.PI;ang+=passo)
{
…
if(ang==0) caminho.moveTo(ax,ay);
caminho.lineTo(bx,by);
…
}
…Finalizar e desenhar o caminho
Exemplo da 2ª Estratégia:
for(ang=0;ang<2*Math.PI;ang+=passo)
{
…
…Criar o caminho
caminho.moveTo(ax,ay);
caminho.lineTo(bx,by);
…
…Finalizar e desenhar o caminho
}
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário