Pesquise no Blog

 

sexta-feira, 18 de janeiro de 2008

Canvas - O que é?

Boas pessoal, meu primeiro post no blog e resolvi fazer uma introdução sobre o que é e como utilizar o Objeto Canvas.
Apesar de ter varias citaçoes sobre canvas na internet, nao achei nenhuma que aborde de forma clara o que seja, em sua maioria, são código ja utilizando a propriedade (ou Objeto) para algum tipo de resultado gráfico.
Na verdade a classe TCanvas é um encapsulamento de controles graficos que possui propriedades e metodos que permitem desenhar linhas, graficos, textos, acessar caracteristicas de uma imagem, e acesso ao Windows GDI(Dispositivo de interface grafica), permitindo assim que aplicações possam exibir graficos e textos tanto na tela como na impressora.
Bom, e qual a aplicação real do Canvas?
Durante o desenvolvimento de um projeto qualquer, utilzamos os componentes padrões do IDE como Buttons, edits, toolbars, forms, etc, estes componentes ja tem uma aparencia padrão herdada do Sistema Operacional, e as vezes esta parencia é uma pouco desagradável qua fogem um pouco da interface da Aplicação.
Podemos utilizar entao a propriedade Canvas de alguns desses componentes ou entao instanciar o Objeto Tcanvas para desenhar uma nova aparencia para os controles, um exemplo disso são os componentes Skins.
Outra possibilidade e talvez uma das mais utilizadas é de se poder desenhar gráficos e textos nas areas dos componentes e até mesmo poder acessar suas caracteristicas.
Se utilizarmos a propriedade canvas do form por exemplo, poderemos desenhar linhas, formas(retangulos, circulos, etc), imagens na area do form, se for um TImage, o procedimento sera praticamente o mesmo.

Exemplos:

//Escrevendo um texto no form utilizando canvas:

F
orm1.canvas.TextOut(10,10,'Isto é um teste');

//Desenhando uma linha

form1.canvas.LineTo(10,50);

//Desenhar uma figura na área do form, que esteja em um TImage:

form1.canvas.StretchDraw(form1.ClientRect,image1.Picture.Graphic);

Podemos trabalhar com o canvas para varias finalidades que necessitem de gráficos desde desenhar uma figura em uma determinada área até plotagem de gráficos de funçoes matematicas.

Bom é isso, espero que este texto possa ser util para seu aprendizado.

Um abraço

NewZeek

4 comentários:

Flea disse...

Post simples e esclarecedor.Realmente pra um iniciante em trabalhos gráficos é artigo válido.Só há apenas um problema,corrija a ortografia da palavra possui,você escreveu possue,uma palavra que é inexistente.Abraço e sucesso

Dnv-X disse...

Corrigido!
Obrigado Flea.

Franklin disse...

Interessante. O Canvas do Delphi permite implementacoes a ponto de ser utilizada na cricao de jogos?

Willian C . disse...

Franklin, só se for jogos 2D. Mas dá sim. No baixaki tem alguns legais que foram feitos no Delphi.Tem também alguns pacotes proprietários que permitiriam ao Delphi exibição de imagens 3D. Mas esses p/ 3D são proprietários....
Uma vez fiz um programa Delphi que 'conversava' com VRML (uma linguagem 3D simples, só para desenhar cubos, cones, esferas).