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 ...*/);
}

anterior

índice

próxima


HOME || MAPA DO SITE || CURSOS || TUTORIAIS || LINKS || FORUM || CONTATO