O que é e para que serve o canvas:

A principal característica da programação dos jogos, que a diferencia de todas as outras "programações" é o uso intenso de elementos gráficos e manipulações ditas "visuais". Para isso, alguns componentes possuem um objeto ou propriedade chamada canvas.

Podemos dizer que canvas é portanto uma superfície (tela) onde podemos desenhar, pintar, escrever, etc. Ela está presente no que chamamos de componentes visuais e é primeiramente encontrada no próprio formulário. Outro componente usado em jogos, cujo canvas é muito manipulado, é o TImage.

As principais estruturas relacionadas ao canvas são:

Pixels - matriz dos pontos que compõem a imagem do canvas. Por exemplo: se quisermos "pintar" de azul o ponto, cuja coordenada x,y seja 10,10 do Form1, fazemos:

  Canvas.Pixels[10,10]:= clBlue;

Podemos traçar retas no canvas, usando for... do...

  for Tm:= 10 to 200 do Canvas.Pixels[Tm,Tm]:= clBlue;

ou uma função específica para isso, usando a estrutura Pen (uma espécie de "caneta"):

   Canvas.MoveTo(10,10);
   Canvas.Pen.Color:= clRed;
   Canvas.LineTo(200,100);

Outra estrutura muito usada é o rect, que define um retângulo, pelas coordenadas canto superior esquedo (x,y) e canto inferior direito (x1,y1). Podemos preencher uma área com uma determinada cor, usando uma instrução específica para isso:

   Canvas.Brush.Color:= clGreen;
   Canvas.FillRect(rect(50,50,150,150));

Podemos simplesmente escrever sobre a superfície:

   Canvas.TextOut(10,10,'Alô pessoal...');

Também podemos copiar um pedaço da imagem para outro local ou para outra imagem:

    Canvas.CopyRect(rect(300,300,350,350),
                              Canvas,rect(10,10,60,60));

O primeiro parâmetro rect identifica o retângulo destino e o segundo rect o retêngulo de origem da cópia.



online