métodos Canvas para desenhar objetos gráficos.
Esta seção mostra a forma de usar alguns métodos comuns para desenhar objetos gráficos. Eles envolvem:
desenhar linhas e múltiplas-linhas;
desenhar figuras;
desenhar retângulos arredondados;
desenhar polígonos.
desenhar linhas e múltiplas-linhas
Canvas pode ser usado para desenhar linhas e múltiplas-linhas. uma linha reta pode ser entendido como uma linha de pixels conectando dois pontos. Múltiplas-linhas pode ser interpretado como uma série de linhas retas, conectando cada ponto inicial com o seu ponto final. O canvas desenha todas as linhas usando pen (caneta).
desenhar figuras
Canvas possui métodos diferentes para desenhar diferentes espécies de figuras. Você pode usar pen para desenhar uma figura e brush (pincel) para preencher o interior da figura. A linha que firma a borda da figuras é controlada pelo corrente objetos Pen.
Esta parte envolve:
desenhar retângulos e elipses;
desenhar retângulos arredondados;
desenhar polígonos.
desenhar retângulos e elipses
Para desenhar retângulo ou elipse na tela, chame o método Rectangle ou o método Ellipse, passando as coordenadas dos limites do retângulo.
O método Rectangle desenha um retângulo; Ellipse desenha uma elipse que toca todos os lados das coordenadas de um retângulo que lhe fornece os limites.
O seguinte método desenha um retângulo no canto superior esquerdo do form, colocando, depois, uma elipse no interior do mesmo:
void __fastcall TForm1::FormPaint(TObject *Sender)
{
// ClientWidth especifica a largura da área do controle em pixels
Canvas->Rectangle(0, 0, ClientWidth/2, ClientHeight/2);
// ClientHeight especifica a altura da área do controle em pixels
Canvas->Ellipse(0, 0, ClientWidth/2, ClientHeight/2);
}
desenhando retângulos arredondados
Para desenhar um retângulo arredondado na tela, chame o método RoundRect.
Os quatro primeiros parâmetros passados para RoundRect referem-se aos limites do retângulo (coordenadas), da mesma forma que nos métodos Rectangle ou Ellipse. RoundRect recebe mais dois parâmetros que indicam como desenhar cantos arredondados.
O seguinte método desenha um retângulo arredondado no quadrante superior esquerdo do form, arredondando os cantos com seções de um círculo de 30 pixels de diâmetro:
void __fastcall TForm1::FormPaint(TObject *Sender)
{
Canvas->RoundRect(0, 0, ClientWidth/2, ClientHeight/2, 30, 30);
}
desenhando polígonos
Para desenhar polígonos com qualquer número de linhas na tela, use o método Polygon de canvas, que desenha uma série de linhas na tela conectando os pontos passados, providenciando, por fim, o fechamento da figura por unir o último ponto com o primeiro.
Polygon recebe um array de pontos como seu único parâmetro e conecta os pontos com pen, até conectar o último ponto com o primeiro para fechar o polígono. Depois de estipular os limites, Polygon usa o brush para preencher a parte interior do polígono.
O exemplo a seguir leva um PaintBox no Form. Quando o programa é executado, desenha um polígono irregular no form, cujas coordenadas são especificadas pelo array. Observe que, uma das maneiras pela qual você pode alterar o resultado da execução, é variando as possibilidades de acordo com o exposto nos comentários.
void __fastcall TForm1::PaintBox1Paint(TObject *Sender)
{
TPoint ponto[6];
ponto[0] = Point(0,0);
ponto[1] = Point(30,80);
ponto[2] = Point(280,130);
ponto[3] = Point(280,220);
ponto[4] = Point(340,320);
ponto[5] = Point(440,380);
// ((TPaintBox *)Sender)->Canvas->Brush->Color = clBlue; /*opcional*/
((TPaintBox *)Sender)->Canvas->
Polygon(ponto, 5 /*número de lados: ou 4, ou 3, ou 2 ...*/);
}
|
HOME || MAPA DO SITE || CURSOS || TUTORIAIS || LINKS || FORUM || CONTATO |