Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

JrRobson

Canvas Desenho some

Recommended Posts

Tenho um form aonde uso o canvas para ligar componentes, mas quando alguma janela sobrepoem o meu form o desenho e apagado como faço para isso não acontever.

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz o desenho em uma variável do tipo tbitmap e depois manda esse desenho para a tela (pode ser um timage mesmo). Isso é chamado de backbuffer

beleza cara, mais você poderia me dar mais detalhes a respeito do backbuffer e como eu posso usa-lo no meu caso...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você cria o backbuffer (uma variável do tipo tbitmap) e desenha o que você quer colocar na tela, só que para aparecer, você precisa de um timage no seu form e na propriedade picture, passar essa variável....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendendo o conceito de OffScreen ou BackBuffer. É uma técnica utilizada para eliminiar o “flick” (tremor) da animação, deixando o jogo com uma aparência melhor. Consiste em criar uma tela virtual na memória e depois desenhar todo o cenário (fundo, personagens etc) nela. Ao final, envia o cenário completo para o vídeo. Para criar o OffScreen basta definir uma variável global do tipo TBITMAP, depois de instânciá-la (coloque o código no ONCREATE do formulário principal) defina valores para sua largura e altura, nunca esquecendo de destruí-la ao final do programa. Exemplo: (...) var OFFScreen: TBitmap; (...) procedure TForm1.FormCreate(Sender: TObject); begin OFFScreen:= TBitmap.create; OFFScreen.Width:= 320; OFFScreen.Height:= 240; end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.